Interface BeforeBeanDiscovery
This event type is thrown by the container before the bean discovery process begins. If any observer method of the
BeforeBeanDiscovery
event throws an exception, the exception is treated as a definition error by the container.
CDI Lite implementations are not required to provide support for Portable Extensions.
- Author:
- Pete Muir, David Allen, Antoine Sabot-Durand
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addAnnotatedType
(AnnotatedType<?> type, String id) Adds a givenAnnotatedType
to the set of types which will be scanned during bean discovery.<T> AnnotatedTypeConfigurator
<T> addAnnotatedType
(Class<T> type, String id) Obtains a newAnnotatedTypeConfigurator
to configure a newAnnotatedType
and add it to the set of types which will be scanned during bean discovery at the end of the observer invocationvoid
addInterceptorBinding
(AnnotatedType<? extends Annotation> bindingType) Declares an annotation type as an interceptor binding type.void
addInterceptorBinding
(Class<? extends Annotation> bindingType, Annotation... bindingTypeDef) Declares an annotation type as an interceptor binding type, and specifies its meta-annotations.void
addQualifier
(AnnotatedType<? extends Annotation> qualifier) Declares an annotation type as a Qualifier qualifier type.void
addQualifier
(Class<? extends Annotation> qualifier) Declares an annotation type as a Qualifier qualifier type.void
addScope
(Class<? extends Annotation> scopeType, boolean normal, boolean passivating) Declares an annotation type as a scope type.void
addStereotype
(Class<? extends Annotation> stereotype, Annotation... stereotypeDef) Declares an annotation type as a stereotype, and specifies its meta-annotations.<T extends Annotation>
AnnotatedTypeConfigurator<T> configureInterceptorBinding
(Class<T> bindingType) Obtains a newAnnotatedTypeConfigurator
to configure a newAnnotatedType
and declares it as an interceptor binding type.<T extends Annotation>
AnnotatedTypeConfigurator<T> configureQualifier
(Class<T> qualifier) Obtains a newAnnotatedTypeConfigurator
to configure a newAnnotatedType
and declares it as a Qualifier qualifier type.
-
Method Details
-
addQualifier
Declares an annotation type as a Qualifier qualifier type.
This is only required if you wish to make an annotation a qualifier without adding
Qualifier
to it.- Parameters:
qualifier
- The annotation to treat as a qualifier- Throws:
IllegalStateException
- if called outside of the observer method invocation
-
addQualifier
Declares an annotation type as a Qualifier qualifier type.
This is only required if you wish to make an annotation a qualifier without adding
Qualifier
to it.- Parameters:
qualifier
- The annotation to treat as a qualifier- Throws:
IllegalStateException
- if called outside of the observer method invocation- Since:
- 1.1
-
addScope
Declares an annotation type as a scope type.
This is only required if you wish to make an annotation a scope type without adding the
NormalScope
orScope
annotations to it. You can also use this method to override an existing normal scope definition.- Parameters:
scopeType
- The annotation type to treat as a scope typenormal
- Indicates if the scope is normalpassivating
- Indicates if the scope is passivation capable- Throws:
IllegalStateException
- if called outside of the observer method invocation- See Also:
-
addStereotype
Declares an annotation type as a stereotype, and specifies its meta-annotations.
This is only required if you wish to make an annotation a stereotype without adding
Stereotype
to it. You can also use this method to override an existing stereotype definition.- Parameters:
stereotype
- The annotation type to treat as a stereotypestereotypeDef
- An optional list of annotations defining the stereotype- Throws:
IllegalStateException
- if called outside of the observer method invocation
-
addInterceptorBinding
Declares an annotation type as an interceptor binding type.
This is only required if you wish to make an annotation an interceptor binding type without adding
InterceptorBinding
to it.- Parameters:
bindingType
- The annotation type to treat as an interceptor binding type- Throws:
IllegalStateException
- if called outside of the observer method invocation
-
addInterceptorBinding
Declares an annotation type as an interceptor binding type, and specifies its meta-annotations.
This is only required if you wish to make an annotation an interceptor binding type without adding
InterceptorBinding
to it.- Parameters:
bindingType
- The annotation type to treat as an interceptor binding typebindingTypeDef
- An optional list of annotations defining the interceptor- Throws:
IllegalStateException
- if called outside of the observer method invocation- Since:
- 1.1
-
addAnnotatedType
Adds a given
AnnotatedType
to the set of types which will be scanned during bean discovery.Thanks to the id parameter, this method allows multiple annotated types, based on the same underlying type, to be defined.
AnnotatedType
s discovered by the container use the fully qualified class name ofAnnotatedType.getJavaClass()
to identify the type.AfterBeanDiscovery.getAnnotatedType(Class, String)
andAfterBeanDiscovery.getAnnotatedTypes(Class)
allows annotated types to be obtained by identifier.- Parameters:
type
- TheAnnotatedType
to add for later scanningid
- the identifier used to distinguish this AnnotatedType from an other one based on the same underlying type- Throws:
IllegalStateException
- if called outside of the observer method invocation- Since:
- 1.1
-
addAnnotatedType
Obtains a new
AnnotatedTypeConfigurator
to configure a newAnnotatedType
and add it to the set of types which will be scanned during bean discovery at the end of the observer invocationThanks to the id parameter, this method allows multiple annotated types, based on the same underlying type, to be defined with a builder.
AnnotatedType
s discovered by the container use the fully qualified class name ofAnnotatedType.getJavaClass()
to identify the type.AfterBeanDiscovery.getAnnotatedType(Class, String)
andAfterBeanDiscovery.getAnnotatedTypes(Class)
allows annotated types to be obtained by identifier.- Type Parameters:
T
- class type- Parameters:
type
- class used to initialized the type and annotations on theAnnotatedTypeConfigurator
id
- the identifier used to distinguish this AnnotatedType from an other one based on the same underlying type- Returns:
- a non reusable
AnnotatedTypeConfigurator
to configure the new AnnotatedType - Throws:
IllegalStateException
- if called outside of the observer method invocation- Since:
- 2.0
-
configureQualifier
Obtains a new
AnnotatedTypeConfigurator
to configure a newAnnotatedType
and declares it as a Qualifier qualifier type.This is only required if you wish to make an annotation a qualifier without adding
Qualifier
to it and need to easily add other annotations (likeNonbinding
on its members.- Type Parameters:
T
- qualifier type- Parameters:
qualifier
- The annotation class used to initialized the configurator- Returns:
- a non reusable
AnnotatedTypeConfigurator
to configure the qualifier - Throws:
IllegalStateException
- if called outside of the observer method invocation- Since:
- 2.0
-
configureInterceptorBinding
<T extends Annotation> AnnotatedTypeConfigurator<T> configureInterceptorBinding(Class<T> bindingType) Obtains a new
AnnotatedTypeConfigurator
to configure a newAnnotatedType
and declares it as an interceptor binding type.This is only required if you wish to make an annotation an interceptor binding type without adding
InterceptorBinding
to it and need to easily add other annotations (likeNonbinding
on its members.- Type Parameters:
T
- binding class type- Parameters:
bindingType
- The annotation class used to initialized the configurator- Returns:
- a non reusable
AnnotatedTypeConfigurator
to configure the interceptor binding - Throws:
IllegalStateException
- if called outside of the observer method invocation- Since:
- 2.0
-