Package org.apache.webbeans.container
Class InjectionResolver
java.lang.Object
org.apache.webbeans.container.InjectionResolver
Injection point resolver class.
It is a singleton class per BeanManager. It is responsible for resolving the bean instances at the injection points for its bean manager.
- Version:
- $Rev$ $Date$
-
Constructor Summary
ConstructorsConstructorDescriptionInjectionResolver(WebBeansContext webBeansContext) Creates a new injection resolve for given bean manager. -
Method Summary
Modifier and TypeMethodDescriptionvoidcheckInjectionPoint(jakarta.enterprise.inject.spi.InjectionPoint injectionPoint) Check that a valid enabled bean exists in the deployment for the given injection point definition.voidcheckInjectionPointType(jakarta.enterprise.inject.spi.InjectionPoint injectionPoint) Check the type of the injection point.voidClear caches.<X> Set<jakarta.enterprise.inject.spi.Bean<? extends X>>findByAlternatives(Set<jakarta.enterprise.inject.spi.Bean<? extends X>> beans) Gets alternatives from set.jakarta.enterprise.inject.spi.Bean<?>getInjectionPointBean(jakarta.enterprise.inject.spi.InjectionPoint injectionPoint) Returns bean for injection point.Set<jakarta.enterprise.inject.spi.Bean<?>>implResolveByName(String name) Returns set of beans for given bean name.Set<jakarta.enterprise.inject.spi.Bean<?>>implResolveByType(boolean isDelegate, Type injectionPointType, Annotation... qualifiers) Resolution by type.Set<jakarta.enterprise.inject.spi.Bean<?>>implResolveByType(boolean isDelegate, Type injectionPointType, Class<?> injectionPointClass, Annotation... qualifiers) Resolution by type.<X> jakarta.enterprise.inject.spi.Bean<? extends X>resolve(Set<jakarta.enterprise.inject.spi.Bean<? extends X>> beans, jakarta.enterprise.inject.spi.InjectionPoint injectionPoint) resolve any ambiguity by checking for Alternatives.<X> Set<jakarta.enterprise.inject.spi.Bean<? extends X>>resolveAll(Set<jakarta.enterprise.inject.spi.Bean<? extends X>> beans) voidsetFastMatching(boolean fastMatching) voidsetStartup(boolean startup)
-
Constructor Details
-
InjectionResolver
Creates a new injection resolve for given bean manager.- Parameters:
webBeansContext- WebBeansContext
-
-
Method Details
-
setFastMatching
public void setFastMatching(boolean fastMatching) -
setStartup
public void setStartup(boolean startup) -
clearCaches
public void clearCaches()Clear caches. -
checkInjectionPointType
public void checkInjectionPointType(jakarta.enterprise.inject.spi.InjectionPoint injectionPoint) Check the type of the injection point.Injection point type can not be
TypeVariable.- Parameters:
injectionPoint- injection point- Throws:
WebBeansConfigurationException- if not obey the rule
-
checkInjectionPoint
public void checkInjectionPoint(jakarta.enterprise.inject.spi.InjectionPoint injectionPoint) Check that a valid enabled bean exists in the deployment for the given injection point definition.- Parameters:
injectionPoint- injection point- Throws:
WebBeansConfigurationException- If bean is not available in the current deployment for given injection
-
getInjectionPointBean
public jakarta.enterprise.inject.spi.Bean<?> getInjectionPointBean(jakarta.enterprise.inject.spi.InjectionPoint injectionPoint) Returns bean for injection point.- Parameters:
injectionPoint- injection point declaration- Returns:
- bean for injection point
-
implResolveByName
Returns set of beans for given bean name.- Parameters:
name- bean name- Returns:
- set of beans for given bean name
-
implResolveByType
public Set<jakarta.enterprise.inject.spi.Bean<?>> implResolveByType(boolean isDelegate, Type injectionPointType, Annotation... qualifiers) Resolution by type.- Parameters:
isDelegate- whether the InjectionPoint is for aDelegateinjectionPointType- injection point api typequalifiers- qualifiers of the injection point- Returns:
- set of resolved beans
-
implResolveByType
public Set<jakarta.enterprise.inject.spi.Bean<?>> implResolveByType(boolean isDelegate, Type injectionPointType, Class<?> injectionPointClass, Annotation... qualifiers) Resolution by type.- Parameters:
isDelegate- whether the InjectionPoint is for aDelegateinjectionPointType- injection point api typequalifiers- qualifiers of the injection point- Returns:
- set of resolved beans
-
findByAlternatives
public <X> Set<jakarta.enterprise.inject.spi.Bean<? extends X>> findByAlternatives(Set<jakarta.enterprise.inject.spi.Bean<? extends X>> beans) Gets alternatives from set.- Parameters:
beans- resolved set- Returns:
- contains alternatives
-
resolve
public <X> jakarta.enterprise.inject.spi.Bean<? extends X> resolve(Set<jakarta.enterprise.inject.spi.Bean<? extends X>> beans, jakarta.enterprise.inject.spi.InjectionPoint injectionPoint) resolve any ambiguity by checking for Alternatives. If any @Alternative exists, then we pick the one with the highest priority.- Type Parameters:
X-- Parameters:
beans-injectionPoint- only used for logging. Can be null.- Returns:
- the single resolved bean, null if none is activated
- Throws:
jakarta.enterprise.inject.AmbiguousResolutionException- if more than 1 bean is active
-
resolveAll
-