public interface BeanManager
Allows a portable extension to interact directly with the container. Provides operations for obtaining contextual references for beans, along with many other operations of use to portable extensions.
Any bean may obtain an instance of BeanManager by injecting it:
@Inject BeanManager manager;
Java EE components may obtain an instance of BeanManager from JNDI by looking up the name
java:comp/BeanManager.
Any operation of BeanManager may be called at any time during the execution of the application.
| Modifier and Type | Method and Description |
|---|---|
boolean |
areInterceptorBindingsEquivalent(Annotation interceptorBinding1,
Annotation interceptorBinding2)
Determine if two interceptor bindings are considered equivalent for the purposes of typesafe resolution,
taking into account any members annotated with
Nonbinding. |
boolean |
areQualifiersEquivalent(Annotation qualifier1,
Annotation qualifier2)
Determine if two qualifiers are considered equivalent for the purposes of typesafe resolution,
taking into account any members annotated with
Nonbinding. |
<T> AnnotatedType<T> |
createAnnotatedType(Class<T> type)
Obtain an
AnnotatedType that may be used to read the annotations of the given class or interface. |
<T> Bean<T> |
createBean(BeanAttributes<T> attributes,
Class<?> beanClass,
Producer<T> producer)
|
<T> Bean<T> |
createBean(BeanAttributes<T> attributes,
Class<T> beanClass,
InjectionTarget<T> injectionTarget)
|
BeanAttributes<?> |
createBeanAttributes(AnnotatedMember<?> type)
Obtains a
BeanAttributes for the given AnnotatedType. |
<T> BeanAttributes<T> |
createBeanAttributes(AnnotatedType<T> type)
Obtains a
BeanAttributes for the given AnnotatedType. |
<T> CreationalContext<T> |
createCreationalContext(Contextual<T> contextual)
Obtain an instance of a
CreationalContext for the given
contextual type, or for a non-contextual object. |
InjectionPoint |
createInjectionPoint(AnnotatedField<?> field)
Obtains a container provided implementation of
InjectionPoint for the given AnnotatedField. |
InjectionPoint |
createInjectionPoint(AnnotatedParameter<?> parameter)
Obtains a container provided implementation of
InjectionPoint for the given AnnotatedParameter. |
<T> InjectionTarget<T> |
createInjectionTarget(AnnotatedType<T> type)
Obtains an
InjectionTarget for the given AnnotatedType. |
<X> Producer<?> |
createProducer(AnnotatedField<? super X> field,
Bean<X> declaringBean)
Obtains a
Producer for the given AnnotatedField. |
<X> Producer<?> |
createProducer(AnnotatedMethod<? super X> method,
Bean<X> declaringBean)
Obtains a
Producer for the given AnnotatedKetuod. |
void |
fireEvent(Object event,
Annotation... qualifiers)
Fire an event and notify observers.
|
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 Java EE component from whose JNDI environment namespace
the BeanManager was obtained, according to the rules of EL name resolution.
|
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 Java EE component from whose JNDI
environment namespace the BeanManager was obtained, according to the rules of typesafe resolution.
|
Context |
getContext(Class<? extends Annotation> scopeType)
Obtains an active context object for the given
scope .
|
javax.el.ELResolver |
getELResolver()
Returns a
ELResolver that resolves beans by EL name. |
<T extends Extension> |
getExtension(Class<T> extensionClass)
Obtains the container's instance of an Extension class declared in
META-INF/services. |
Object |
getInjectableReference(InjectionPoint ij,
CreationalContext<?> ctx)
Obtains an injectable reference for a certain injection point.
|
Set<Annotation> |
getInterceptorBindingDefinition(Class<? extends Annotation> bindingType)
Obtains the set of meta-annotations for a certain interceptor binding
type .
|
int |
getInterceptorBindingHashCode(Annotation interceptorBinding)
Determine the hash code of an interceptor binding, using the JDK algorithm for determining an annotation
hash code, ignoring any members annotated with
Nonbinding. |
Bean<?> |
getPassivationCapableBean(String id)
Returns the
PassivationCapable bean with the given identifier. |
int |
getQualifierHashCode(Annotation qualifier)
Determine the hash code of a qualifier, using the JDK algorithm for determining an annotation hash code,
ignoring any members annotated with
Nonbinding. |
Object |
getReference(Bean<?> bean,
Type beanType,
CreationalContext<?> ctx)
Obtains a contextual reference for a certain bean and a certain bean type of the bean.
|
Set<Annotation> |
getStereotypeDefinition(Class<? extends Annotation> stereotype)
Obtains meta-annotations for a certain stereotype.
|
boolean |
isInterceptorBinding(Class<? extends Annotation> annotationType)
Test the given annotation type to determine if it is an interceptor
binding type .
|
boolean |
isNormalScope(Class<? extends Annotation> annotationType)
Test the given annotation type to determine if it is a normal scope type.
|
boolean |
isPassivatingScope(Class<? extends Annotation> annotationType)
Test the given annotation type to determine if it is a passivating scope type.
|
boolean |
isQualifier(Class<? extends Annotation> annotationType)
Test the given annotation type to determine if it is a qualifier type.
|
boolean |
isScope(Class<? extends Annotation> annotationType)
Test the given annotation type to determine if it is a scope type.
|
boolean |
isStereotype(Class<? extends Annotation> annotationType)
Test the given annotation type to determine if it is a stereotype.
|
<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 Java EE
component from whose JNDI environment namespace the BeanManager was obtained.
|
List<Interceptor<?>> |
resolveInterceptors(InterceptionType type,
Annotation... interceptorBindings)
Return an ordered list of enabled interceptors for a set of interceptor bindings and a type of
interception and which are enabled in the module or library containing the class into which the BeanManager was
injected or the Java EE component from whose JNDI environment namespace the BeanManager was obtained.
|
<T> Set<ObserverMethod<? super T>> |
resolveObserverMethods(T event,
Annotation... qualifiers)
Return the set of observers for an event.
|
void |
validate(InjectionPoint injectionPoint)
Validate a certain injection point.
|
javax.el.ExpressionFactory |
wrapExpressionFactory(javax.el.ExpressionFactory expressionFactory)
Returns a wrapper
ExpressionFactory that delegates MethodExpression and
ValueExpression creation to the given ExpressionFactory. |
Object getReference(Bean<?> bean, Type beanType, CreationalContext<?> ctx)
bean - the Bean object representing the beanbeanType - a bean type that must be implemented by any client proxy that is returnedctx - a CreationalContext that may be used to destroy any object with scope
Dependent that is createdIllegalArgumentException - if the given type is not a bean type of the given beanIllegalStateException - if called during application initializationObject getInjectableReference(InjectionPoint ij, CreationalContext<?> ctx)
ij - the target injection pointctx - a CreationalContext that may be used to destroy any object with scope
Dependent that is createdUnsatisfiedResolutionException - if typesafe resolution results in an unsatisfied dependencyAmbiguousResolutionException - typesafe resolution results in an unresolvable ambiguous dependencyIllegalStateException - if called during application initialization<T> CreationalContext<T> createCreationalContext(Contextual<T> contextual)
CreationalContext for the given
contextual type, or for a non-contextual object.contextual - the Contextual, or a null value in the case of a non-contextual
objectCreationalContextSet<Bean<?>> getBeans(Type beanType, Annotation... qualifiers)
beanType - the required bean typequalifiers - the required qualifiersIllegalArgumentException - if the given type represents a type variableIllegalArgumentException - if two instances of the same qualifier type are givenIllegalArgumentException - if an instance of an annotation that is not a qualifier type is givenIllegalStateException - if called during application initializationSet<Bean<?>> getBeans(String name)
name - the EL nameIllegalStateException - if called during application initializationBean<?> getPassivationCapableBean(String id)
PassivationCapable bean with the given identifier.id - the identifierBean that implements PassivationCapable and has the given
identifier, or a null value if there is no such beanIllegalStateException - if called during application initialization<X> Bean<? extends X> resolve(Set<Bean<? extends X>> beans)
X - a common type of the beansbeans - a set of beans of the given typeAmbiguousResolutionException - if the ambiguous dependency resolution rules failIllegalStateException - if called during application initializationvoid validate(InjectionPoint injectionPoint)
injectionPoint - the injection point to validateInjectionException - if there is a deployment problem (for example, an unsatisfied or unresolvable ambiguous
dependency) associated with the injection pointIllegalStateException - if called before the AfterDeploymentValidation event is firedvoid fireEvent(Object event, Annotation... qualifiers)
event - the event objectqualifiers - the event qualifiersIllegalArgumentException - if the runtime type of the event object contains a type variableIllegalArgumentException - if two instances of the same qualifier type are givenIllegalArgumentException - if an instance of an annotation that is not a qualifier type is givenIllegalArgumentException - if the runtime type of the event object is assignable to the type of a container lifecycle eventObserverException - if a notified observer throws a checked exception, it will be wrapped and
rethrown as an (unchecked) ObserverException<T> Set<ObserverMethod<? super T>> resolveObserverMethods(T event, Annotation... qualifiers)
T - the type of the eventevent - the event objectqualifiers - the event qualifiersIllegalArgumentException - if the runtime type of the event object contains a type variableIllegalArgumentException - if two instances of the same qualifier type are givenIllegalArgumentException - if an instance of an annotation that is not a qualifier type is givenIllegalStateException - if called during application initializationList<Decorator<?>> resolveDecorators(Set<Type> types, Annotation... qualifiers)
types - the set of bean types of the decorated beanqualifiers - the qualifiers declared by the decorated beanIllegalArgumentException - if the set of bean types is emptyIllegalArgumentException - if an annotation which is not a binding type is passedIllegalArgumentException - if two instances of the same binding type are passedIllegalStateException - if called during application initializationList<Interceptor<?>> resolveInterceptors(InterceptionType type, Annotation... interceptorBindings)
type - the type of the interceptioninterceptorBindings - the interceptor bindingsIllegalArgumentException - if no interceptor binding type is givenIllegalArgumentException - if two instances of the same interceptor binding type are givenIllegalArgumentException - if an instance of an annotation that is not an interceptor binding type is givenIllegalStateException - if called during application initializationboolean isScope(Class<? extends Annotation> annotationType)
annotationType - the annotation typeboolean isNormalScope(Class<? extends Annotation> annotationType)
annotationType - the annotation typeboolean isPassivatingScope(Class<? extends Annotation> annotationType)
annotationType - the annotation typeboolean isQualifier(Class<? extends Annotation> annotationType)
annotationType - the annotation typeboolean isInterceptorBinding(Class<? extends Annotation> annotationType)
annotationType - the annotation to testboolean isStereotype(Class<? extends Annotation> annotationType)
annotationType - the annotation typeSet<Annotation> getInterceptorBindingDefinition(Class<? extends Annotation> bindingType)
bindingType - the interceptor binding typeSet<Annotation> getStereotypeDefinition(Class<? extends Annotation> stereotype)
stereotype - the stereotypeboolean areQualifiersEquivalent(Annotation qualifier1, Annotation qualifier2)
Nonbinding.a1 - a qualifier to checka2 - a qualifier to checkboolean areInterceptorBindingsEquivalent(Annotation interceptorBinding1, Annotation interceptorBinding2)
Nonbinding.a1 - an interceptor binding to checka2 - an interceptor binding to checkint getQualifierHashCode(Annotation qualifier)
Nonbinding.qualifier - the qualifier to considerint getInterceptorBindingHashCode(Annotation interceptorBinding)
Nonbinding.interceptorBinding - the interceptor binding to considerContext getContext(Class<? extends Annotation> scopeType)
scopeType - the scopeContextNotActiveException - if there is no active context object for the given scopeIllegalArgumentException - if there is more than one active context object for the given scopejavax.el.ELResolver getELResolver()
ELResolver that resolves beans by EL name.javax.el.ExpressionFactory wrapExpressionFactory(javax.el.ExpressionFactory expressionFactory)
ExpressionFactory that delegates MethodExpression and
ValueExpression creation to the given ExpressionFactory. When a Unified EL expression
is evaluated using a MethodExpression or ValueExpression returned by the wrapper
ExpressionFactory, the container handles destruction of objects with scope
Dependent.expressionFactory - the ExpressionFactory to wrapExpressionFactory<T> AnnotatedType<T> createAnnotatedType(Class<T> type)
AnnotatedType that may be used to read the annotations of the given class or interface.T - the class or interfacetype - the Class objectAnnotatedType<T> InjectionTarget<T> createInjectionTarget(AnnotatedType<T> type)
InjectionTarget for the given AnnotatedType. The container ignores the annotations and types
declared by the elements of the actual Java class and uses the metadata provided via the Annotated interface
instead.T - the typetype - the AnnotatedTypeIllegalArgumentException - if there is a definition error associated with any injection point of the type<X> Producer<?> createProducer(AnnotatedField<? super X> field, Bean<X> declaringBean)
Producer for the given AnnotatedField. The container ignores the annotations and types
declared by the elements of the actual Java field and uses the metadata provided via the Annotated interface
instead.X - the bean class of the bean declaring the producer fieldfield - the AnnotatedFielddeclaringBean - the bean declaring the producer field, used to obtain the contextual instance which receives the
producer field access. May be null if the producer field is a static field.IllegalArgumentException - if there is a definition error associated with the producer field<X> Producer<?> createProducer(AnnotatedMethod<? super X> method, Bean<X> declaringBean)
Producer for the given AnnotatedKetuod. The container ignores the annotations and types
declared by the elements of the actual Java method and uses the metadata provided via the Annotated interface
instead.X - the bean class of the bean declaring the producer methodmethod - the AnnotatedMethoddeclaringBean - the bean declaring the producer method used to obtain the contextual instance which receives the
producer method invocation. May be null if the producer method is a static method.IllegalArgumentException - if there is a definition error associated with the producer method<T> BeanAttributes<T> createBeanAttributes(AnnotatedType<T> type)
BeanAttributes for the given AnnotatedType. The container ignores the annotations and types
declared by the elements of the actual Java class and uses the metadata provided via the Annotated interface
instead.T - the typetype - the AnnotatedTypeInjectionTargetBeanAttributes<?> createBeanAttributes(AnnotatedMember<?> type)
BeanAttributes for the given AnnotatedType. The container ignores the annotations and types
declared by the elements of the actual Java class and uses the metadata provided via the Annotated interface
instead.T - the typetype - the AnnotatedTypeInjectionTarget<T> Bean<T> createBean(BeanAttributes<T> attributes, Class<T> beanClass, InjectionTarget<T> injectionTarget)
T - the typeattributes - a BeanAttributes which determines the bean types, qualifiers, scope, name and stereotypes of
the returned Bean, and the return values of BeanAttributes.isAlternative() and Bean.isNullable()beanClass - a class, which determines the return value of Bean#getClass()injectionTarget - an InjectionTarget, which is used to create and destroy instances of the bean, to perform
dependency injection and lifecycle callbacks, and which determines the return value of
Bean.getInjectionPoints()Bean<T> Bean<T> createBean(BeanAttributes<T> attributes, Class<?> beanClass, Producer<T> producer)
T - the typeattributes - a BeanAttributes which determines the bean types, qualifiers, scope, name and stereotypes of
the returned Bean, and the return values of BeanAttributes.isAlternative() and Bean.isNullable()beanClass - a class, which determines the return value of Bean#getClass()producer - a Producer, which is used to create and destroy instances of the bean, and which determines the return
value of Bean.getInjectionPoints()BeanInjectionPoint createInjectionPoint(AnnotatedField<?> field)
InjectionPoint for the given AnnotatedField.field - the AnnotatedField defining the injection pointInjectionPointIllegalArgumentException - if there is a definition error associated with the injection pointInjectionPoint createInjectionPoint(AnnotatedParameter<?> parameter)
InjectionPoint for the given AnnotatedParameter.parameter - the AnnotatedParameter defining the injection pointInjectionPointIllegalArgumentException - if there is a definition error associated with the injection point<T extends Extension> T getExtension(Class<T> extensionClass)
META-INF/services.T - the type of the extensionextensionClass - the type of the extension classIllegalArgumentException - if the container has no instance of the given classCopyright © 2008-2013 JBoss by Red Hat, Inc.. All Rights Reserved.