|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
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.
Method Summary | ||
---|---|---|
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 . |
|
|
createAnnotatedType(Class<T> type)
Obtain an AnnotatedType that may be used to read the annotations of the given class or interface. |
|
|
createBean(BeanAttributes<T> attributes,
Class<?> beanClass,
ProducerFactory<T> producerFactory)
Obtains a Bean for the given BeanAttributes , bean class and Producer . |
|
|
createBean(BeanAttributes<T> attributes,
Class<T> beanClass,
InjectionTargetFactory<T> injectionTargetFactory)
Obtains a Bean for the given BeanAttributes , bean class and InjectionTarget . |
|
BeanAttributes<?> |
createBeanAttributes(AnnotatedMember<?> type)
Obtains a BeanAttributes for the given AnnotatedType . |
|
|
createBeanAttributes(AnnotatedType<T> type)
Obtains a BeanAttributes for the given AnnotatedType . |
|
|
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 . |
|
|
createInjectionTarget(AnnotatedType<T> type)
Obtains an InjectionTarget for the given AnnotatedType . |
|
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. |
|
|
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. |
|
|
getInjectionTargetFactory(AnnotatedType<T> annotatedType)
An implementation of InjectionTargetFactory that provides container created InjectionTarget
instances. |
|
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. |
|
|
getProducerFactory(AnnotatedField<? super X> field)
An implementation of ProducerFactory that provides container created Producer
instances for the given field. |
|
|
getProducerFactory(AnnotatedMethod<? super X> method)
An implementation of ProducerFactory that provides container created Producer
instances for the given method. |
|
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. |
|
|
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. |
|
|
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 . |
Method Detail |
---|
Object getReference(Bean<?> bean, Type beanType, CreationalContext<?> ctx)
Obtains a contextual reference for a certain bean and a certain bean type of the bean.
Non-portable behavior results if called during application initialization.
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 created
IllegalArgumentException
- if the given type is not a bean type of the given bean
IllegalStateException
- if called during application initialization, before the AfterDeploymentValidation
event is firedObject getInjectableReference(InjectionPoint ij, CreationalContext<?> ctx)
Obtains an injectable reference for a certain injection point.
Non-portable behavior results if called during application initialization.
ij
- the target injection pointctx
- a CreationalContext
that may be used to destroy any object with scope
Dependent
that is created
UnsatisfiedResolutionException
- if typesafe resolution results in an unsatisfied dependency
AmbiguousResolutionException
- typesafe resolution results in an unresolvable ambiguous dependency
IllegalStateException
- if called during application initialization, before the AfterDeploymentValidation
event is fired<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
object
CreationalContext
Set<Bean<?>> getBeans(Type beanType, Annotation... qualifiers)
beanType
- the required bean typequalifiers
- the required qualifiers
IllegalArgumentException
- if the given type represents a type variable
IllegalArgumentException
- if two instances of the same qualifier type are given
IllegalArgumentException
- if an instance of an annotation that is not a qualifier type is given
IllegalStateException
- if called during application initialization, before the AfterDeploymentValidation
event is firedSet<Bean<?>> getBeans(String name)
name
- the EL name
IllegalStateException
- if called during application initialization, before the AfterDeploymentValidation
event is firedBean<?> getPassivationCapableBean(String id)
PassivationCapable
bean with the given identifier.
id
- the identifier
Bean
that implements PassivationCapable
and has the given
identifier, or a null value if there is no such bean
IllegalStateException
- if called during application initialization, before the AfterDeploymentValidation
event is fired<X> Bean<? extends X> resolve(Set<Bean<? extends X>> beans)
X
- a common type of the beansbeans
- a set of beans of the given type
AmbiguousResolutionException
- if the ambiguous dependency resolution rules fail
IllegalStateException
- if called during application initialization, before the AfterDeploymentValidation
event is firedvoid validate(InjectionPoint injectionPoint)
injectionPoint
- the injection point to validate
InjectionException
- if there is a deployment problem (for example, an unsatisfied or unresolvable ambiguous
dependency) associated with the injection point
IllegalStateException
- if called during application initialization, before the AfterDeploymentValidation
event is firedvoid fireEvent(Object event, Annotation... qualifiers)
event
- the event objectqualifiers
- the event qualifiers
IllegalArgumentException
- if the runtime type of the event object contains a type variable
IllegalArgumentException
- if two instances of the same qualifier type are given
IllegalArgumentException
- if an instance of an annotation that is not a qualifier type is given
IllegalArgumentException
- if the runtime type of the event object is assignable to the type of a container lifecycle event
ObserverException
- 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 qualifiers
IllegalArgumentException
- if the runtime type of the event object contains a type variable
IllegalArgumentException
- if two instances of the same qualifier type are given
IllegalArgumentException
- if an instance of an annotation that is not a qualifier type is given
IllegalStateException
- if called during application initialization, before the AfterDeploymentValidation
event is firedList<Decorator<?>> resolveDecorators(Set<Type> types, Annotation... qualifiers)
types
- the set of bean types of the decorated beanqualifiers
- the qualifiers declared by the decorated bean
IllegalArgumentException
- if the set of bean types is empty
IllegalArgumentException
- if an annotation which is not a binding type is passed
IllegalArgumentException
- if two instances of the same binding type are passed
IllegalStateException
- if called during application initialization, before the AfterDeploymentValidation
event is firedList<Interceptor<?>> resolveInterceptors(InterceptionType type, Annotation... interceptorBindings)
type
- the type of the interceptioninterceptorBindings
- the interceptor bindings
IllegalArgumentException
- if no interceptor binding type is given
IllegalArgumentException
- if two instances of the same interceptor binding type are given
IllegalArgumentException
- if an instance of an annotation that is not an interceptor binding type is given
IllegalStateException
- if called during application initialization, before the AfterDeploymentValidation
event is firedboolean isScope(Class<? extends Annotation> annotationType)
annotationType
- the annotation type
boolean isNormalScope(Class<? extends Annotation> annotationType)
annotationType
- the annotation type
boolean isPassivatingScope(Class<? extends Annotation> annotationType)
annotationType
- the annotation type
boolean isQualifier(Class<? extends Annotation> annotationType)
annotationType
- the annotation type
boolean isInterceptorBinding(Class<? extends Annotation> annotationType)
annotationType
- the annotation to test
boolean isStereotype(Class<? extends Annotation> annotationType)
annotationType
- the annotation type
Set<Annotation> getInterceptorBindingDefinition(Class<? extends Annotation> bindingType)
bindingType
- the interceptor binding type
Set<Annotation> getStereotypeDefinition(Class<? extends Annotation> stereotype)
stereotype
- the stereotype
boolean areQualifiersEquivalent(Annotation qualifier1, Annotation qualifier2)
Nonbinding
.
a1
- a qualifier to checka2
- a qualifier to check
boolean areInterceptorBindingsEquivalent(Annotation interceptorBinding1, Annotation interceptorBinding2)
Nonbinding
.
a1
- an interceptor binding to checka2
- an interceptor binding to check
int getQualifierHashCode(Annotation qualifier)
Nonbinding
.
qualifier
- the qualifier to consider
int getInterceptorBindingHashCode(Annotation interceptorBinding)
Nonbinding
.
interceptorBinding
- the interceptor binding to consider
Context getContext(Class<? extends Annotation> scopeType)
scopeType
- the scope
ContextNotActiveException
- if there is no active context object for the given scope
IllegalArgumentException
- 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 wrap
ExpressionFactory
<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
object
AnnotatedType
<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 AnnotatedType
IllegalArgumentException
- if there is a definition error associated with any injection point of the type<T> InjectionTargetFactory<T> getInjectionTargetFactory(AnnotatedType<T> annotatedType)
An implementation of InjectionTargetFactory
that provides container created InjectionTarget
instances.
This factory can be wrapped to add behavior to container created injection targets.
InjectionTargetFactory
<X> ProducerFactory<X> getProducerFactory(AnnotatedField<? super X> field)
An implementation of ProducerFactory
that provides container created Producer
instances for the given field.
This factory can be wrapped to add behavior to container created producers.
field
- the field to create the producer factory for
<X> ProducerFactory<X> getProducerFactory(AnnotatedMethod<? super X> method)
An implementation of ProducerFactory
that provides container created Producer
instances for the given method.
This factory can be wrapped to add behavior to container created producers.
method
- the method to create the producer factory for
<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 AnnotatedType
InjectionTarget
BeanAttributes<?> 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 AnnotatedType
InjectionTarget
<T> Bean<T> createBean(BeanAttributes<T> attributes, Class<T> beanClass, InjectionTargetFactory<T> injectionTargetFactory)
Obtains a Bean
for the given BeanAttributes
, bean class and InjectionTarget
.
The InjectionTarget
creates and destroys instances of the bean, performs dependency injection and lifecycle
callbacks, and determines the return value of Bean.getInjectionPoints()
. The InjectionTarget
is
obtained from the InjectionTargetFactory
. #getInjectionTargetFactory()
allows use of a container
created 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.getBeanClass()
injectionTargetFactory
- an InjectionTargetFactory
, used to obtain an InjectionTarget
Bean
<T> Bean<T> createBean(BeanAttributes<T> attributes, Class<?> beanClass, ProducerFactory<T> producerFactory)
Obtains a Bean
for the given BeanAttributes
, bean class and Producer
.
The Producer
creates and destroys instances of the decorator, and determines the return value of
Bean.getInjectionPoints()
. The Producer
is obtained from the ProducerFactory
. #getProducerFactory()
allows use of a container created 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()
producerFactory
- a ProducerFactory
, used to obtain a Producer
Bean
InjectionPoint createInjectionPoint(AnnotatedField<?> field)
InjectionPoint
for the given AnnotatedField
.
field
- the AnnotatedField
defining the injection point
InjectionPoint
IllegalArgumentException
- 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 point
InjectionPoint
IllegalArgumentException
- 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 class
IllegalArgumentException
- if the container has no instance of the given class
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |