Class BeanManagerImpl
- java.lang.Object
-
- org.jboss.weld.manager.BeanManagerImpl
-
- All Implemented Interfaces:
Serializable,BeanManager,org.jboss.weld.manager.api.WeldManager
public class BeanManagerImpl extends Object implements org.jboss.weld.manager.api.WeldManager, Serializable
Implementation of the Bean Manager. Essentially a singleton for registering Beans, Contexts, Observers, Interceptors etc. as well as providing resolution- Author:
- Pete Muir, Marius Bogoevici, Ales Justin, Jozef Hartinger
- See Also:
- Serialized Form
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddAccessibleBeanManager(BeanManagerImpl accessibleBeanManager)voidaddBean(Bean<?> bean)voidaddBeans(Collection<? extends Bean<?>> beans)Optimization which modifies CopyOnWrite structures only once instead of once for every bean.voidaddContext(Context context)voidaddDecorator(Decorator<?> bean)voidaddInterceptor(Interceptor<?> bean)voidaddObserver(ObserverMethod<?> observer)Does the actual observer registrationvoidaddValidationFailureCallback(BiConsumer<Exception,org.jboss.weld.bootstrap.api.Environment> callback)booleanareInterceptorBindingsEquivalent(Annotation interceptorBinding1, Annotation interceptorBinding2)Determine if two interceptor bindings are considered equivalent for the purposes of typesafe resolution, taking into account any members annotated withNonbinding.booleanareQualifiersEquivalent(Annotation qualifier1, Annotation qualifier2)Determine if two qualifiers are considered equivalent for the purposes of typesafe resolution, taking into account any members annotated withNonbinding.voidcleanup()voidcleanupAfterBoot()For internal use only.<T> AnnotatedType<T>createAnnotatedType(Class<T> type)Obtain anAnnotatedTypethat may be used to read the annotations of the given class or interface.<T> AnnotatedType<T>createAnnotatedType(Class<T> type, String id)<T> Bean<T>createBean(BeanAttributes<T> attributes, Class<T> beanClass, InjectionTargetFactory<T> injectionTargetFactory)<T,X>
Bean<T>createBean(BeanAttributes<T> attributes, Class<X> beanClass, ProducerFactory<X> producerFactory)BeanAttributes<?>createBeanAttributes(AnnotatedMember<?> member)Obtains aBeanAttributesfor the givenAnnotatedType.<T> BeanAttributes<T>createBeanAttributes(AnnotatedType<T> type)Obtains aBeanAttributesfor the givenAnnotatedType.<T> WeldCreationalContext<T>createCreationalContext(Contextual<T> contextual)Obtain an instance of aCreationalContextfor the given contextual type, or for a non-contextual object.<T> EnhancedAnnotatedType<T>createEnhancedAnnotatedType(Class<T> type)FieldInjectionPointAttributes<?,?>createInjectionPoint(AnnotatedField<?> field)Obtains a container provided implementation ofInjectionPointfor the givenAnnotatedField.ParameterInjectionPointAttributes<?,?>createInjectionPoint(AnnotatedParameter<?> parameter)Obtains a container provided implementation ofInjectionPointfor the givenAnnotatedParameter.<T> InjectionTarget<T>createInjectionTarget(AnnotatedType<T> type)Obtains anInjectionTargetfor the givenAnnotatedType.<T> InjectionTarget<T>createInjectionTarget(org.jboss.weld.ejb.spi.EjbDescriptor<T> descriptor)<T> org.jboss.weld.manager.api.WeldInjectionTargetBuilder<T>createInjectionTargetBuilder(AnnotatedType<T> type)WeldInstance<Object>createInstance()Obtains anInstanceobject to access to beans instances.<T> InterceptionFactory<T>createInterceptionFactory(CreationalContext<T> ctx, Class<T> clazz)Create anInterceptionFactoryfor the givenCreationalContextand type.<T> voiddisposeAnnotatedType(Class<T> type, String id)booleanequals(Object obj)WeldEvent<Object>event()Set<QualifierInstance>extractInterceptorBindingsForQualifierInstance(Iterable<QualifierInstance> annotations)voidfireEvent(Object event, Annotation... qualifiers)Fires an event object with given event object for given bindings<X> InjectionTarget<X>fireProcessInjectionTarget(AnnotatedType<X> annotatedType)<X> InjectionTarget<X>fireProcessInjectionTarget(AnnotatedType<X> annotatedType, InjectionTarget<X> injectionTarget)voidfireRequestContextBeforeDestroyed(Object payload)voidfireRequestContextDestroyed(Object payload)voidfireRequestContextInitialized(Object payload)Set<Bean<?>>getAccessibleBeans()UnlikegetDynamicAccessibleBeans()this method returns a mutable set which is not updated automatically.ObserverNotifiergetAccessibleLenientObserverNotifier()Get the lenient observer notifier for accessible observer methods.HashSet<BeanManagerImpl>getAccessibleManagers()List<String>getAccessibleNamespaces()UnlikegetDynamicAccessibleNamespaces()this method returns a mutable set which is not updated automatically.<T> SessionBean<T>getBean(org.jboss.weld.ejb.spi.EjbDescriptor<T> descriptor)<T> Bean<T>getBean(Resolvable resolvable)TypeSafeBeanResolvergetBeanResolver()Get the web bean resolver.List<Bean<?>>getBeans()The beans registered with the Web Bean manager which are resolvable.Set<Bean<?>>getBeans(Type beanType, Annotation... qualifiers)Return the set of beans which have the given required type and qualifiers and are available for injection in the module or library containing the class into which the BeanManager was injected or the Jakarta EE component from whose JNDI environment namespace the BeanManager was obtained, according to the rules of typesafe resolution.Set<Bean<?>>getBeans(Type beanType, Set<Annotation> qualifiers)Set<Bean<?>>getBeans(String name)Return the set of beans which have the given EL name and are available for injection in the module or library containing the class into which the BeanManager was injected or the Jakarta EE component from whose JNDI environment namespace the BeanManager was obtained, according to the rules of EL name resolution.Set<Bean<?>>getBeans(InjectionPoint injectionPoint)ClientProxyProvidergetClientProxyProvider()ContainerLifecycleEventsgetContainerLifecycleEvents()ContextgetContext(Class<? extends Annotation> scopeType)Gets an active context of the given scope.StringgetContextId()protected Map<Class<? extends Annotation>,List<Context>>getContexts()TypeSafeDecoratorResolvergetDecoratorResolver()Get the decorator resolver.List<Decorator<?>>getDecorators()Iterable<Bean<?>>getDynamicAccessibleBeans()Iterable<Decorator<?>>getDynamicAccessibleDecorators()Iterable<Interceptor<?>>getDynamicAccessibleInterceptors()Iterable<String>getDynamicAccessibleNamespaces()<T> org.jboss.weld.ejb.spi.EjbDescriptor<T>getEjbDescriptor(String beanName)javax.el.ELResolvergetELResolver()Returns aELResolverthat resolves beans by EL name.ModuleEnablementgetEnabled()Enabled Alternatives, Interceptors and DecoratorsMap<org.jboss.weld.ejb.spi.EjbDescriptor<?>,SessionBean<?>>getEnterpriseBeans()Gets the class-mapped beans.Event<Object>getEvent()Returns an instance of Event with specified type java.lang.Object and specified qualifier @Default It allows typesafe synchronous or asynchronous event firing without injection ofEventbuilt-in bean requirement.<T extends Extension>
TgetExtension(Class<T> extensionClass)Obtains the container's instance of an Extension class declared inMETA-INF/services.ObserverNotifiergetGlobalLenientObserverNotifier()Get the lenient global observer notifier.ObserverNotifiergetGlobalStrictObserverNotifier()Get the Strict global observer notifier.StringgetId()ObjectgetInjectableReference(InjectionPoint injectionPoint, CreationalContext<?> creationalContext)Obtains an injectable reference for a certain injection point.ObjectgetInjectableReference(InjectionPoint injectionPoint, Bean<?> resolvedBean, CreationalContext<?> creationalContext)Get a reference, registering the injection point used.<T> org.jboss.weld.manager.api.WeldInjectionTargetFactory<T>getInjectionTargetFactory(AnnotatedType<T> type)Creates anInjectionTargetFactoryfor a given type.<T> WeldInstance<Object>getInstance(CreationalContext<?> ctx)Set<Annotation>getInterceptorBindingDefinition(Class<? extends Annotation> bindingType)Obtains the set of meta-annotations for a certain interceptor binding type .intgetInterceptorBindingHashCode(Annotation interceptorBinding)Determine the hash code of an interceptor binding, using the JDK algorithm for determining an annotation hash code, ignoring any members annotated withNonbinding.InterceptorMetadataReadergetInterceptorMetadataReader()ConcurrentMap<SlimAnnotatedType<?>,InterceptionModel>getInterceptorModelRegistry()TypeSafeInterceptorResolvergetInterceptorResolver()List<Interceptor<?>>getInterceptors()<T> InjectionTargetFactoryImpl<T>getLocalInjectionTargetFactory(AnnotatedType<T> type)Creates anInjectionTargetFactoryfor a given type.NameBasedResolvergetNameBasedResolver()protected List<String>getNamespaces()List<ObserverMethod<?>>getObservers()Bean<?>getPassivationCapableBean(String id)Returns thePassivationCapablebean with the given identifier.Bean<?>getPassivationCapableBean(org.jboss.weld.serialization.spi.BeanIdentifier identifier)<X> FieldProducerFactory<X>getProducerFactory(AnnotatedField<? super X> field, Bean<X> declaringBean)An implementation ofProducerFactorythat provides container createdProducerinstances for the given field.<X> MethodProducerFactory<X>getProducerFactory(AnnotatedMethod<? super X> method, Bean<X> declaringBean)An implementation ofProducerFactorythat provides container createdProducerinstances for the given method.intgetQualifierHashCode(Annotation qualifier)Determine the hash code of a qualifier, using the JDK algorithm for determining an annotation hash code, ignoring any members annotated withNonbinding.ObjectgetReference(Bean<?> bean, Type requestedType, CreationalContext<?> creationalContext)Obtains a contextual reference for a certain bean and a certain bean type of the bean.ObjectgetReference(Bean<?> bean, Type requestedType, CreationalContext<?> creationalContext, boolean noProxy)ObjectgetReference(InjectionPoint injectionPoint, Bean<?> resolvedBean, CreationalContext<?> creationalContext)Deprecated.Collection<Class<? extends Annotation>>getScopes()org.jboss.weld.bootstrap.api.ServiceRegistrygetServices()Set<Annotation>getStereotypeDefinition(Class<? extends Annotation> stereotype)Obtains meta-annotations for a certain stereotype.ContextgetUnwrappedContext(Class<? extends Annotation> scopeType)inthashCode()Instance<Object>instance()<X> BeanAttributes<?>internalCreateBeanAttributes(AnnotatedMember<X> member)booleanisBeanEnabled(Bean<?> bean)booleanisContextActive(Class<? extends Annotation> scopeType)booleanisInterceptorBinding(Class<? extends Annotation> annotationType)Test the given annotation type to determine if it is an interceptor binding type .booleanisNormalScope(Class<? extends Annotation> annotationType)Test the given annotation type to determine if it is a normal scope type.booleanisPassivatingScope(Class<? extends Annotation> annotationType)Test the given annotation type to determine if it is a passivating scope type.booleanisQualifier(Class<? extends Annotation> annotationType)Test the given annotation type to determine if it is a qualifier type.booleanisScope(Class<? extends Annotation> annotationType)Test the given annotation type to determine if it is a scope type.booleanisStereotype(Class<? extends Annotation> annotationType)Test the given annotation type to determine if it is a stereotype.static BeanManagerImplnewManager(BeanManagerImpl rootManager, String id, org.jboss.weld.bootstrap.api.ServiceRegistry services)static BeanManagerImplnewRootManager(String contextId, String id, org.jboss.weld.bootstrap.api.ServiceRegistry serviceRegistry)Create a new, root, managerprotected ObjectreadResolve()protected voidregisterBeanNamespace(Bean<?> bean)<X> Bean<? extends X>resolve(Set<Bean<? extends X>> beans)Apply the ambiguous dependency resolution rules to a set of beans.List<Decorator<?>>resolveDecorators(Set<Type> types, Annotation... qualifiers)Return an ordered list of decorators for a set of bean types and a set of qualifiers and which are enabled in the module or library containing the class into which the BeanManager was injected or the Jakarta EE component from whose JNDI environment namespace the BeanManager was obtained.List<Decorator<?>>resolveDecorators(Set<Type> types, Set<Annotation> qualifiers)List<Interceptor<?>>resolveInterceptors(InterceptionType type, Annotation... interceptorBindings)Resolves a list of interceptors based on interception type and interceptor bindings.List<Interceptor<?>>resolveInterceptors(InterceptionType type, Collection<Annotation> interceptorBindings)Resolves a list of interceptors based on interception type and interceptor bindings.<T> Set<ObserverMethod<? super T>>resolveObserverMethods(T event, Annotation... bindings)Return an ordered set of observer methods for an event.voidsetEnabled(ModuleEnablement enabled)StringtoString()Gets a string representationBeanManagerImplunwrap()voidvalidate(InjectionPoint ij)Validate a certain injection point.voidvalidationFailed(Exception failure, org.jboss.weld.bootstrap.api.Environment environment)javax.el.ExpressionFactorywrapExpressionFactory(javax.el.ExpressionFactory expressionFactory)Returns a wrapperExpressionFactorythat delegatesMethodExpressionandValueExpressioncreation to the givenExpressionFactory.
-
-
-
Method Detail
-
newRootManager
public static BeanManagerImpl newRootManager(String contextId, String id, org.jboss.weld.bootstrap.api.ServiceRegistry serviceRegistry)
Create a new, root, manager- Parameters:
serviceRegistry-- Returns:
-
newManager
public static BeanManagerImpl newManager(BeanManagerImpl rootManager, String id, org.jboss.weld.bootstrap.api.ServiceRegistry services)
-
getContextId
public String getContextId()
-
addAccessibleBeanManager
public void addAccessibleBeanManager(BeanManagerImpl accessibleBeanManager)
-
getAccessibleManagers
public HashSet<BeanManagerImpl> getAccessibleManagers()
-
addBean
public void addBean(Bean<?> bean)
-
addBeans
public void addBeans(Collection<? extends Bean<?>> beans)
Optimization which modifies CopyOnWrite structures only once instead of once for every bean.- Parameters:
beans-
-
addDecorator
public void addDecorator(Decorator<?> bean)
-
resolveObserverMethods
public <T> Set<ObserverMethod<? super T>> resolveObserverMethods(T event, Annotation... bindings)
Description copied from interface:BeanManagerReturn an ordered set of observer methods for an event.
Note that when called during invocation of anAfterBeanDiscoveryevent observer, this method will only return observers discovered by the container before theAfterBeanDiscoveryevent is fired.- Specified by:
resolveObserverMethodsin interfaceBeanManager- Type Parameters:
T- the type of the event- Parameters:
event- the event objectbindings- the event qualifiers- Returns:
- the resulting set of observer methods
-
addInterceptor
public void addInterceptor(Interceptor<?> bean)
-
getEnabled
public ModuleEnablement getEnabled()
Enabled Alternatives, Interceptors and Decorators- Returns:
-
setEnabled
public void setEnabled(ModuleEnablement enabled)
-
isBeanEnabled
public boolean isBeanEnabled(Bean<?> bean)
-
getBeans
public Set<Bean<?>> getBeans(Type beanType, Annotation... qualifiers)
Description copied from interface:BeanManagerReturn the set of beans which have the given required type and qualifiers and are available for injection in the module or library containing the class into which the BeanManager was injected or the Jakarta EE component from whose JNDI environment namespace the BeanManager was obtained, according to the rules of typesafe resolution. If no qualifiers are given, the default qualifier is assumed.
Note that when called during invocation of anAfterBeanDiscoveryevent observer, this method will only return beans discovered by the container before theAfterBeanDiscoveryevent is fired.- Specified by:
getBeansin interfaceBeanManager- Parameters:
beanType- the required bean typequalifiers- the required qualifiers- Returns:
- the resulting set of beans
-
getBeans
public Set<Bean<?>> getBeans(Type beanType, Set<Annotation> qualifiers)
-
getBeans
public Set<Bean<?>> getBeans(InjectionPoint injectionPoint)
-
registerBeanNamespace
protected void registerBeanNamespace(Bean<?> bean)
-
getEnterpriseBeans
public Map<org.jboss.weld.ejb.spi.EjbDescriptor<?>,SessionBean<?>> getEnterpriseBeans()
Gets the class-mapped beans. For internal use.- Returns:
- The bean map
-
getBeans
public List<Bean<?>> getBeans()
The beans registered with the Web Bean manager which are resolvable. Does not include interceptor and decorator beans- Returns:
- The list of known beans
-
getInterceptors
public List<Interceptor<?>> getInterceptors()
-
getAccessibleBeans
public Set<Bean<?>> getAccessibleBeans()
UnlikegetDynamicAccessibleBeans()this method returns a mutable set which is not updated automatically.- Returns:
- all accessible beans
-
getDynamicAccessibleInterceptors
public Iterable<Interceptor<?>> getDynamicAccessibleInterceptors()
-
addContext
public void addContext(Context context)
-
addObserver
public void addObserver(ObserverMethod<?> observer)
Does the actual observer registration- Parameters:
observer- =
-
fireEvent
public void fireEvent(Object event, Annotation... qualifiers)
Fires an event object with given event object for given bindings- Specified by:
fireEventin interfaceBeanManager- Parameters:
event- The event object to pass alongqualifiers- The binding types to match- See Also:
BeanManager.fireEvent(java.lang.Object, java.lang.annotation.Annotation[])
-
getContext
public Context getContext(Class<? extends Annotation> scopeType)
Gets an active context of the given scope. Throws an exception if there are no active contexts found or if there are too many matches- Specified by:
getContextin interfaceBeanManager- Parameters:
scopeType- The scope to match- Returns:
- A single active context of the given scope
- Throws:
IllegalStateException- if there are multiple active scopes for a given context- See Also:
BeanManager.getContext(java.lang.Class)
-
getUnwrappedContext
public Context getUnwrappedContext(Class<? extends Annotation> scopeType)
-
isContextActive
public boolean isContextActive(Class<? extends Annotation> scopeType)
- Specified by:
isContextActivein interfaceorg.jboss.weld.manager.api.WeldManager
-
getReference
public Object getReference(Bean<?> bean, Type requestedType, CreationalContext<?> creationalContext, boolean noProxy)
-
getReference
public Object getReference(Bean<?> bean, Type requestedType, CreationalContext<?> creationalContext)
Description copied from interface:BeanManagerObtains a contextual reference for a certain bean and a certain bean type of the bean.
- Specified by:
getReferencein interfaceBeanManager- Parameters:
bean- theBeanobject representing the beanrequestedType- a bean type that must be implemented by any client proxy that is returnedcreationalContext- aCreationalContextthat may be used to destroy any object with scopeDependentthat is created- Returns:
- a contextual reference representing the bean
-
getReference
@Deprecated public Object getReference(InjectionPoint injectionPoint, Bean<?> resolvedBean, CreationalContext<?> creationalContext)
Deprecated.The name of this method was misleading, usegetInjectableReference(InjectionPoint, Bean, CreationalContext)instead.- Parameters:
injectionPoint-resolvedBean-creationalContext-- Returns:
- the injectable reference
-
getInjectableReference
public Object getInjectableReference(InjectionPoint injectionPoint, Bean<?> resolvedBean, CreationalContext<?> creationalContext)
Get a reference, registering the injection point used.- Parameters:
injectionPoint- the injection point to registerresolvedBean- the bean to get a reference tocreationalContext- the creationalContext- Returns:
- the injectable reference
-
getInjectableReference
public Object getInjectableReference(InjectionPoint injectionPoint, CreationalContext<?> creationalContext)
Description copied from interface:BeanManagerObtains an injectable reference for a certain injection point.
- Specified by:
getInjectableReferencein interfaceBeanManager- Parameters:
injectionPoint- the target injection pointcreationalContext- aCreationalContextthat may be used to destroy any object with scopeDependentthat is created- Returns:
- the injectable reference
-
getBean
public <T> Bean<T> getBean(Resolvable resolvable)
-
getBeans
public Set<Bean<?>> getBeans(String name)
Description copied from interface:BeanManagerReturn the set of beans which have the given EL name and are available for injection in the module or library containing the class into which the BeanManager was injected or the Jakarta EE component from whose JNDI environment namespace the BeanManager was obtained, according to the rules of EL name resolution.
Note that when called during invocation of anAfterBeanDiscoveryevent observer, this method will only return beans discovered by the container before theAfterBeanDiscoveryevent is fired.- Specified by:
getBeansin interfaceBeanManager- Parameters:
name- the EL name- Returns:
- the resulting set of beans
-
resolveDecorators
public List<Decorator<?>> resolveDecorators(Set<Type> types, Annotation... qualifiers)
Description copied from interface:BeanManagerReturn an ordered list of decorators for a set of bean types and a set of qualifiers and which are enabled in the module or library containing the class into which the BeanManager was injected or the Jakarta EE component from whose JNDI environment namespace the BeanManager was obtained.
Note that when called during invocation of anAfterBeanDiscoveryevent observer, this method will only return decorators discovered by the container before theAfterBeanDiscoveryevent is fired.- Specified by:
resolveDecoratorsin interfaceBeanManager- Parameters:
types- the set of bean types of the decorated beanqualifiers- the qualifiers declared by the decorated bean- Returns:
- the resulting set of decorators
-
resolveDecorators
public List<Decorator<?>> resolveDecorators(Set<Type> types, Set<Annotation> qualifiers)
-
resolveInterceptors
public List<Interceptor<?>> resolveInterceptors(InterceptionType type, Annotation... interceptorBindings)
Resolves a list of interceptors based on interception type and interceptor bindings. Transitive interceptor bindings of the interceptor bindings passed as a parameter are considered in the resolution process.- Specified by:
resolveInterceptorsin interfaceBeanManager- Parameters:
type- The interception type to resolveinterceptorBindings- The binding types to match- Returns:
- A list of matching interceptors
- See Also:
BeanManager.resolveInterceptors(javax.enterprise.inject.spi.InterceptionType, java.lang.annotation.Annotation[])
-
resolveInterceptors
public List<Interceptor<?>> resolveInterceptors(InterceptionType type, Collection<Annotation> interceptorBindings)
Resolves a list of interceptors based on interception type and interceptor bindings. Transitive interceptor bindings of the interceptor bindings passed as a parameter are NOT considered in the resolution process. Therefore, the caller is responsible for filtering of transitive interceptor bindings in order to comply with interceptor binding inheritance and overriding (See JSR-346 9.5.2). This is a Weld-specific method.- Parameters:
type- The interception type to resolveinterceptorBindings- The binding types to match- Returns:
- A list of matching interceptors
-
getBeanResolver
public TypeSafeBeanResolver getBeanResolver()
Get the web bean resolver. For internal use- Returns:
- The resolver
-
getDecoratorResolver
public TypeSafeDecoratorResolver getDecoratorResolver()
Get the decorator resolver. For internal use- Returns:
- The resolver
-
getInterceptorResolver
public TypeSafeInterceptorResolver getInterceptorResolver()
-
getNameBasedResolver
public NameBasedResolver getNameBasedResolver()
-
getAccessibleLenientObserverNotifier
public ObserverNotifier getAccessibleLenientObserverNotifier()
Get the lenient observer notifier for accessible observer methods. Should never be exposed to an application.- Returns:
- The
ObserverNotifier
-
getGlobalLenientObserverNotifier
public ObserverNotifier getGlobalLenientObserverNotifier()
Get the lenient global observer notifier. Should never be exposed to an application.- Returns:
- The
ObserverNotifier
-
getGlobalStrictObserverNotifier
public ObserverNotifier getGlobalStrictObserverNotifier()
Get the Strict global observer notifier. This one should be used for firing application / extension events.- Returns:
- The
ObserverNotifier
-
toString
public String toString()
Gets a string representation
-
getServices
public org.jboss.weld.bootstrap.api.ServiceRegistry getServices()
- Specified by:
getServicesin interfaceorg.jboss.weld.manager.api.WeldManager
-
readResolve
protected Object readResolve() throws ObjectStreamException
- Throws:
ObjectStreamException
-
getClientProxyProvider
public ClientProxyProvider getClientProxyProvider()
-
getContexts
protected Map<Class<? extends Annotation>,List<Context>> getContexts()
-
getAccessibleNamespaces
public List<String> getAccessibleNamespaces()
UnlikegetDynamicAccessibleNamespaces()this method returns a mutable set which is not updated automatically.- Returns:
- the accessible namespaces
-
getId
public String getId()
- Specified by:
getIdin interfaceorg.jboss.weld.manager.api.WeldManager
-
getObservers
public List<ObserverMethod<?>> getObservers()
-
createInjectionTarget
public <T> InjectionTarget<T> createInjectionTarget(AnnotatedType<T> type)
Description copied from interface:BeanManagerObtains an
InjectionTargetfor the givenAnnotatedType. The container ignores the annotations and types declared by the elements of the actual Java class and uses the metadata provided via theAnnotatedinterface instead.This method is deprecated from CDI 1.1 and
BeanManager.getInjectionTargetFactory(AnnotatedType)should be used instead.- Specified by:
createInjectionTargetin interfaceBeanManager- Type Parameters:
T- the type- Parameters:
type- theAnnotatedType- Returns:
- a container provided implementation of
InjectionTarget
-
createInjectionTarget
public <T> InjectionTarget<T> createInjectionTarget(org.jboss.weld.ejb.spi.EjbDescriptor<T> descriptor)
- Specified by:
createInjectionTargetin interfaceorg.jboss.weld.manager.api.WeldManager
-
validate
public void validate(InjectionPoint ij)
Description copied from interface:BeanManagerValidate a certain injection point.
Note that when called during invocation of anAfterBeanDiscoveryevent observer, this method will only validate injection points discovered by the container before theAfterBeanDiscoveryevent is fired.- Specified by:
validatein interfaceBeanManager- Parameters:
ij- the injection point to validate
-
getInterceptorBindingDefinition
public Set<Annotation> getInterceptorBindingDefinition(Class<? extends Annotation> bindingType)
Description copied from interface:BeanManagerObtains the set of meta-annotations for a certain interceptor binding type .- Specified by:
getInterceptorBindingDefinitionin interfaceBeanManager- Parameters:
bindingType- the interceptor binding type- Returns:
- the set of meta-annotations
-
getPassivationCapableBean
public Bean<?> getPassivationCapableBean(String id)
Description copied from interface:BeanManagerReturns thePassivationCapablebean with the given identifier.
Note that when called during invocation of anAfterBeanDiscoveryevent observer, this method will only return beans discovered by the container before theAfterBeanDiscoveryevent is fired.- Specified by:
getPassivationCapableBeanin interfaceBeanManager- Parameters:
id- the identifier- Returns:
- a
Beanthat implementsPassivationCapableand has the given identifier, or a null value if there is no such bean
-
getPassivationCapableBean
public Bean<?> getPassivationCapableBean(org.jboss.weld.serialization.spi.BeanIdentifier identifier)
- Specified by:
getPassivationCapableBeanin interfaceorg.jboss.weld.manager.api.WeldManager
-
getStereotypeDefinition
public Set<Annotation> getStereotypeDefinition(Class<? extends Annotation> stereotype)
Description copied from interface:BeanManagerObtains meta-annotations for a certain stereotype.- Specified by:
getStereotypeDefinitionin interfaceBeanManager- Parameters:
stereotype- the stereotype- Returns:
- the set of meta-annotations
-
isQualifier
public boolean isQualifier(Class<? extends Annotation> annotationType)
Description copied from interface:BeanManagerTest the given annotation type to determine if it is a qualifier type.- Specified by:
isQualifierin interfaceBeanManager- Parameters:
annotationType- the annotation type- Returns:
- true if the annotation type is a qualifier type
-
isInterceptorBinding
public boolean isInterceptorBinding(Class<? extends Annotation> annotationType)
Description copied from interface:BeanManagerTest the given annotation type to determine if it is an interceptor binding type .- Specified by:
isInterceptorBindingin interfaceBeanManager- Parameters:
annotationType- the annotation to test- Returns:
- true if the annotation type is a interceptor binding type
-
isNormalScope
public boolean isNormalScope(Class<? extends Annotation> annotationType)
Description copied from interface:BeanManagerTest the given annotation type to determine if it is a normal scope type.- Specified by:
isNormalScopein interfaceBeanManager- Parameters:
annotationType- the annotation type- Returns:
- true if the annotation type is a normal scope type
-
isPassivatingScope
public boolean isPassivatingScope(Class<? extends Annotation> annotationType)
Description copied from interface:BeanManagerTest the given annotation type to determine if it is a passivating scope type.- Specified by:
isPassivatingScopein interfaceBeanManager- Parameters:
annotationType- the annotation type- Returns:
- true if the annotation type is a passivating scope type
-
isScope
public boolean isScope(Class<? extends Annotation> annotationType)
Description copied from interface:BeanManagerTest the given annotation type to determine if it is a scope type.- Specified by:
isScopein interfaceBeanManager- Parameters:
annotationType- the annotation type- Returns:
- true if the annotation type is a scope type
-
isStereotype
public boolean isStereotype(Class<? extends Annotation> annotationType)
Description copied from interface:BeanManagerTest the given annotation type to determine if it is a stereotype.- Specified by:
isStereotypein interfaceBeanManager- Parameters:
annotationType- the annotation type- Returns:
- true if the annotation type is a stereotype
-
getELResolver
public javax.el.ELResolver getELResolver()
Description copied from interface:BeanManagerReturns aELResolverthat resolves beans by EL name.- Specified by:
getELResolverin interfaceBeanManager- Returns:
- the
ELResolver
-
wrapExpressionFactory
public javax.el.ExpressionFactory wrapExpressionFactory(javax.el.ExpressionFactory expressionFactory)
Description copied from interface:BeanManagerReturns a wrapperExpressionFactorythat delegatesMethodExpressionandValueExpressioncreation to the givenExpressionFactory. When a Unified EL expression is evaluated using aMethodExpressionorValueExpressionreturned by the wrapperExpressionFactory, the container handles destruction of objects with scopeDependent.- Specified by:
wrapExpressionFactoryin interfaceBeanManager- Parameters:
expressionFactory- theExpressionFactoryto wrap- Returns:
- the wrapped
ExpressionFactory
-
createCreationalContext
public <T> WeldCreationalContext<T> createCreationalContext(Contextual<T> contextual)
Description copied from interface:BeanManagerObtain an instance of aCreationalContextfor the given contextual type, or for a non-contextual object.- Specified by:
createCreationalContextin interfaceBeanManager- Specified by:
createCreationalContextin interfaceorg.jboss.weld.manager.api.WeldManager- Parameters:
contextual- theContextual, or a null value in the case of a non-contextual object- Returns:
- the new
CreationalContext
-
createAnnotatedType
public <T> AnnotatedType<T> createAnnotatedType(Class<T> type)
Description copied from interface:BeanManagerObtain anAnnotatedTypethat may be used to read the annotations of the given class or interface.- Specified by:
createAnnotatedTypein interfaceBeanManager- Type Parameters:
T- the class or interface- Parameters:
type- theClassobject- Returns:
- the
AnnotatedType
-
createEnhancedAnnotatedType
public <T> EnhancedAnnotatedType<T> createEnhancedAnnotatedType(Class<T> type)
-
createAnnotatedType
public <T> AnnotatedType<T> createAnnotatedType(Class<T> type, String id)
- Specified by:
createAnnotatedTypein interfaceorg.jboss.weld.manager.api.WeldManager
-
disposeAnnotatedType
public <T> void disposeAnnotatedType(Class<T> type, String id)
- Specified by:
disposeAnnotatedTypein interfaceorg.jboss.weld.manager.api.WeldManager
-
resolve
public <X> Bean<? extends X> resolve(Set<Bean<? extends X>> beans)
Description copied from interface:BeanManagerApply the ambiguous dependency resolution rules to a set of beans.
Note that when called during invocation of anAfterBeanDiscoveryevent observer, this method will only return beans discovered by the container before theAfterBeanDiscoveryevent is fired.- Specified by:
resolvein interfaceBeanManager- Type Parameters:
X- a common type of the beans- Parameters:
beans- a set of beans of the given type- Returns:
- the resolved bean, or null if null or an empty set is passed
-
getEjbDescriptor
public <T> org.jboss.weld.ejb.spi.EjbDescriptor<T> getEjbDescriptor(String beanName)
- Specified by:
getEjbDescriptorin interfaceorg.jboss.weld.manager.api.WeldManager
-
getBean
public <T> SessionBean<T> getBean(org.jboss.weld.ejb.spi.EjbDescriptor<T> descriptor)
- Specified by:
getBeanin interfaceorg.jboss.weld.manager.api.WeldManager
-
cleanup
public void cleanup()
-
cleanupAfterBoot
public void cleanupAfterBoot()
For internal use only. This happens after bootstrap services cleanup but beforeRIBean.cleanupAfterBoot().- See Also:
Bootstrap.endInitialization()
-
getInterceptorModelRegistry
public ConcurrentMap<SlimAnnotatedType<?>,InterceptionModel> getInterceptorModelRegistry()
-
getInterceptorMetadataReader
public InterceptorMetadataReader getInterceptorMetadataReader()
-
fireProcessInjectionTarget
public <X> InjectionTarget<X> fireProcessInjectionTarget(AnnotatedType<X> annotatedType)
- Specified by:
fireProcessInjectionTargetin interfaceorg.jboss.weld.manager.api.WeldManager
-
fireProcessInjectionTarget
public <X> InjectionTarget<X> fireProcessInjectionTarget(AnnotatedType<X> annotatedType, InjectionTarget<X> injectionTarget)
- Specified by:
fireProcessInjectionTargetin interfaceorg.jboss.weld.manager.api.WeldManager
-
extractInterceptorBindingsForQualifierInstance
public Set<QualifierInstance> extractInterceptorBindingsForQualifierInstance(Iterable<QualifierInstance> annotations)
-
instance
public Instance<Object> instance()
- Specified by:
instancein interfaceorg.jboss.weld.manager.api.WeldManager
-
getInstance
public <T> WeldInstance<Object> getInstance(CreationalContext<?> ctx)
-
createBeanAttributes
public <T> BeanAttributes<T> createBeanAttributes(AnnotatedType<T> type)
Description copied from interface:BeanManagerObtains aBeanAttributesfor the givenAnnotatedType. The container ignores the annotations and types declared by the elements of the actual Java class and uses the metadata provided via theAnnotatedinterface instead.- Specified by:
createBeanAttributesin interfaceBeanManager- Type Parameters:
T- the type- Parameters:
type- theAnnotatedType- Returns:
- a container provided implementation of
InjectionTarget
-
createBeanAttributes
public BeanAttributes<?> createBeanAttributes(AnnotatedMember<?> member)
Description copied from interface:BeanManagerObtains aBeanAttributesfor the givenAnnotatedType. The container ignores the annotations and types declared by the elements of the actual Java class and uses the metadata provided via theAnnotatedinterface instead.- Specified by:
createBeanAttributesin interfaceBeanManager- Parameters:
member- theAnnotatedType- Returns:
- a container provided implementation of
InjectionTarget
-
internalCreateBeanAttributes
public <X> BeanAttributes<?> internalCreateBeanAttributes(AnnotatedMember<X> member)
-
createBean
public <T> Bean<T> createBean(BeanAttributes<T> attributes, Class<T> beanClass, InjectionTargetFactory<T> injectionTargetFactory)
Description copied from interface:BeanManagerObtains a
Beanfor the givenBeanAttributes, bean class andInjectionTarget.The
InjectionTargetcreates and destroys instances of the bean, performs dependency injection and lifecycle callbacks, and determines the return value ofBean.getInjectionPoints(). TheInjectionTargetis obtained from theInjectionTargetFactory.BeanManager.getInjectionTargetFactory(AnnotatedType)allows use of a container createdInjectionTarget.- Specified by:
createBeanin interfaceBeanManager- Type Parameters:
T- the type- Parameters:
attributes- aBeanAttributeswhich determines the bean types, qualifiers, scope, name and stereotypes of the returnedBean, and the return values ofBeanAttributes.isAlternative()andBean.isNullable()beanClass- a class, which determines the return value ofBean.getBeanClass()injectionTargetFactory- anInjectionTargetFactory, used to obtain anInjectionTarget- Returns:
- a container provided implementation of
Bean
-
createBean
public <T,X> Bean<T> createBean(BeanAttributes<T> attributes, Class<X> beanClass, ProducerFactory<X> producerFactory)
Description copied from interface:BeanManagerObtains a
Beanfor the givenBeanAttributes, bean class andProducer.The
Producercreates and destroys instances of the decorator, and determines the return value ofBean.getInjectionPoints(). TheProduceris obtained from theProducerFactory.BeanManager.getProducerFactory(AnnotatedMethod, Bean)orBeanManager.getProducerFactory(AnnotatedField, Bean)allows use of a container createdProducer.- Specified by:
createBeanin interfaceBeanManager- Type Parameters:
T- the typeX- the type of the declaring bean- Parameters:
attributes- aBeanAttributeswhich determines the bean types, qualifiers, scope, name and stereotypes of the returnedBean, and the return values ofBeanAttributes.isAlternative()andBean.isNullable()beanClass- a class, which determines the return value of Bean.getClass()producerFactory- aProducerFactory, used to obtain aProducer- Returns:
- a container provided implementation of
Bean
-
createInjectionPoint
public FieldInjectionPointAttributes<?,?> createInjectionPoint(AnnotatedField<?> field)
Description copied from interface:BeanManagerObtains a container provided implementation ofInjectionPointfor the givenAnnotatedField.- Specified by:
createInjectionPointin interfaceBeanManager- Parameters:
field- theAnnotatedFielddefining the injection point- Returns:
- the container provided
InjectionPoint
-
createInjectionPoint
public ParameterInjectionPointAttributes<?,?> createInjectionPoint(AnnotatedParameter<?> parameter)
Description copied from interface:BeanManagerObtains a container provided implementation ofInjectionPointfor the givenAnnotatedParameter.- Specified by:
createInjectionPointin interfaceBeanManager- Parameters:
parameter- theAnnotatedParameterdefining the injection point- Returns:
- the container provided
InjectionPoint
-
getExtension
public <T extends Extension> T getExtension(Class<T> extensionClass)
Description copied from interface:BeanManagerObtains the container's instance of an Extension class declared inMETA-INF/services.- Specified by:
getExtensionin interfaceBeanManager- Type Parameters:
T- the type of the extension- Parameters:
extensionClass- the type of the extension class- Returns:
- the extension instance
-
createInterceptionFactory
public <T> InterceptionFactory<T> createInterceptionFactory(CreationalContext<T> ctx, Class<T> clazz)
Description copied from interface:BeanManagerCreate anInterceptionFactoryfor the givenCreationalContextand type.- Specified by:
createInterceptionFactoryin interfaceBeanManager- Type Parameters:
T- type of the instance this factory will work on- Parameters:
ctx-CreationalContextfor theInterceptionFactoryto createclazz- class of the instance this factory will work on- Returns:
- a new
InterceptionFactoryto add services on on instances of T
-
getEvent
public Event<Object> getEvent()
Description copied from interface:BeanManagerReturns an instance of Event with specified type java.lang.Object and specified qualifier @Default It allows typesafe synchronous or asynchronous event firing without injection ofEventbuilt-in bean requirement.- Specified by:
getEventin interfaceBeanManager- Returns:
- a new
Eventobject whose event type is Object and qualifier @Default
-
getContainerLifecycleEvents
public ContainerLifecycleEvents getContainerLifecycleEvents()
-
areQualifiersEquivalent
public boolean areQualifiersEquivalent(Annotation qualifier1, Annotation qualifier2)
Description copied from interface:BeanManagerDetermine if two qualifiers are considered equivalent for the purposes of typesafe resolution, taking into account any members annotated withNonbinding.- Specified by:
areQualifiersEquivalentin interfaceBeanManager- Parameters:
qualifier1- a qualifier to checkqualifier2- a qualifier to check- Returns:
- true if the two qualifiers are equivalent, otherwise false
-
areInterceptorBindingsEquivalent
public boolean areInterceptorBindingsEquivalent(Annotation interceptorBinding1, Annotation interceptorBinding2)
Description copied from interface:BeanManagerDetermine if two interceptor bindings are considered equivalent for the purposes of typesafe resolution, taking into account any members annotated withNonbinding.- Specified by:
areInterceptorBindingsEquivalentin interfaceBeanManager- Parameters:
interceptorBinding1- an interceptor binding to checkinterceptorBinding2- an interceptor binding to check- Returns:
- true if the two interceptor bindings are equivalent, otherwise false
-
getQualifierHashCode
public int getQualifierHashCode(Annotation qualifier)
Description copied from interface:BeanManagerDetermine the hash code of a qualifier, using the JDK algorithm for determining an annotation hash code, ignoring any members annotated withNonbinding.- Specified by:
getQualifierHashCodein interfaceBeanManager- Parameters:
qualifier- the qualifier to consider- Returns:
- the hashCode for the qualifier
-
getInterceptorBindingHashCode
public int getInterceptorBindingHashCode(Annotation interceptorBinding)
Description copied from interface:BeanManagerDetermine the hash code of an interceptor binding, using the JDK algorithm for determining an annotation hash code, ignoring any members annotated withNonbinding.- Specified by:
getInterceptorBindingHashCodein interfaceBeanManager- Parameters:
interceptorBinding- the interceptor binding to consider- Returns:
- the hashCode for the interceptor binding
-
getLocalInjectionTargetFactory
public <T> InjectionTargetFactoryImpl<T> getLocalInjectionTargetFactory(AnnotatedType<T> type)
Creates anInjectionTargetFactoryfor a given type. The factory will be using thisBeanManager.
-
getInjectionTargetFactory
public <T> org.jboss.weld.manager.api.WeldInjectionTargetFactory<T> getInjectionTargetFactory(AnnotatedType<T> type)
Creates anInjectionTargetFactoryfor a given type. TheBeanManagerfor theInjectionTargetwill be inferred usingCDI11Deployment.getBeanDeploymentArchive(Class).- Specified by:
getInjectionTargetFactoryin interfaceBeanManager- Specified by:
getInjectionTargetFactoryin interfaceorg.jboss.weld.manager.api.WeldManager- Parameters:
type- the annotated type to create the injection target factory for- Returns:
- an
InjectionTargetFactory
-
getProducerFactory
public <X> FieldProducerFactory<X> getProducerFactory(AnnotatedField<? super X> field, Bean<X> declaringBean)
Description copied from interface:BeanManagerAn implementation of
ProducerFactorythat provides container createdProducerinstances for the given field.This factory can be wrapped to add behavior to container created producers.
- Specified by:
getProducerFactoryin interfaceBeanManager- Parameters:
field- the field to create the producer factory fordeclaringBean- the bean declaring the producer. May be null if the producer is static or the declaring object is non-contextual- Returns:
- the producer factory for the field
-
getProducerFactory
public <X> MethodProducerFactory<X> getProducerFactory(AnnotatedMethod<? super X> method, Bean<X> declaringBean)
Description copied from interface:BeanManagerAn implementation of
ProducerFactorythat provides container createdProducerinstances for the given method.This factory can be wrapped to add behavior to container created producers.
- Specified by:
getProducerFactoryin interfaceBeanManager- Parameters:
method- the method to create the producer factory fordeclaringBean- the bean declaring the producer. May be null if the producer is static or the declaring object is non-contextual- Returns:
- the producer factory for the method
-
createInjectionTargetBuilder
public <T> org.jboss.weld.manager.api.WeldInjectionTargetBuilder<T> createInjectionTargetBuilder(AnnotatedType<T> type)
- Specified by:
createInjectionTargetBuilderin interfaceorg.jboss.weld.manager.api.WeldManager
-
createInstance
public WeldInstance<Object> createInstance()
Description copied from interface:BeanManagerObtains anInstanceobject to access to beans instances. The returned Instance object can only access instances of beans that are available for injection in the module or library containing the class into which the BeanManager was injected or the Jakarta EE component from whose JNDI environment namespace the BeanManager was obtained, according to the rules of typesafe resolution. Note that when called during invocation of anAfterBeanDiscoveryevent observer, the Instance returned by this method will only give access to instances of beans discovered by the container before theAfterBeanDiscoveryevent is fired. Instances of dependent scoped beans obtained with this Instance must be explicitly destroyed by callingInstance.destroy(Object)If no qualifier is passed toInstance.select(java.lang.annotation.Annotation...)method, the @Default qualifier is assumed.- Specified by:
createInstancein interfaceBeanManager- Returns:
- an
Instanceobject to request beans instances
-
unwrap
public BeanManagerImpl unwrap()
- Specified by:
unwrapin interfaceorg.jboss.weld.manager.api.WeldManager
-
fireRequestContextInitialized
public void fireRequestContextInitialized(Object payload)
-
fireRequestContextBeforeDestroyed
public void fireRequestContextBeforeDestroyed(Object payload)
-
fireRequestContextDestroyed
public void fireRequestContextDestroyed(Object payload)
-
addValidationFailureCallback
public void addValidationFailureCallback(BiConsumer<Exception,org.jboss.weld.bootstrap.api.Environment> callback)
-
validationFailed
public void validationFailed(Exception failure, org.jboss.weld.bootstrap.api.Environment environment)
-
getScopes
public Collection<Class<? extends Annotation>> getScopes()
- Specified by:
getScopesin interfaceorg.jboss.weld.manager.api.WeldManager
-
-