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 TypeMethodDescriptionvoidaddAnnotatedType(AnnotatedType<?> type, String id) Adds a givenAnnotatedTypeto the set of types which will be scanned during bean discovery.<T> AnnotatedTypeConfigurator<T>addAnnotatedType(Class<T> type, String id) Obtains a newAnnotatedTypeConfiguratorto configure a newAnnotatedTypeand add it to the set of types which will be scanned during bean discovery at the end of the observer invocationvoidaddInterceptorBinding(AnnotatedType<? extends Annotation> bindingType) Declares an annotation type as an interceptor binding type.voidaddInterceptorBinding(Class<? extends Annotation> bindingType, Annotation... bindingTypeDef) Declares an annotation type as an interceptor binding type, and specifies its meta-annotations.voidaddQualifier(AnnotatedType<? extends Annotation> qualifier) Declares an annotation type as a Qualifier qualifier type.voidaddQualifier(Class<? extends Annotation> qualifier) Declares an annotation type as a Qualifier qualifier type.voidaddScope(Class<? extends Annotation> scopeType, boolean normal, boolean passivating) Declares an annotation type as a scope type.voidaddStereotype(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 newAnnotatedTypeConfiguratorto configure a newAnnotatedTypeand declares it as an interceptor binding type.<T extends Annotation>
AnnotatedTypeConfigurator<T>configureQualifier(Class<T> qualifier) Obtains a newAnnotatedTypeConfiguratorto configure a newAnnotatedTypeand 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
Qualifierto 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
Qualifierto 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
NormalScopeorScopeannotations 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
Stereotypeto 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
InterceptorBindingto 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
InterceptorBindingto 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
AnnotatedTypeto 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.
AnnotatedTypes 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- TheAnnotatedTypeto 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
AnnotatedTypeConfiguratorto configure a newAnnotatedTypeand 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.
AnnotatedTypes discovered by the container use the fully qualified class name ofAnnotatedType.getJavaClass()to identify the type.
Each call returns a new AnnotatedTypeConfiguratorAfterBeanDiscovery.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 theAnnotatedTypeConfiguratorid- the identifier used to distinguish this AnnotatedType from an other one based on the same underlying type- Returns:
- a non reusable
AnnotatedTypeConfiguratorto configure the new AnnotatedType - Throws:
IllegalStateException- if called outside of the observer method invocation- Since:
- 2.0
-
configureQualifier
Obtains a new
AnnotatedTypeConfiguratorto configure a newAnnotatedTypeand declares it as a Qualifier qualifier type.This is only required if you wish to make an annotation a qualifier without adding
Qualifierto it and need to easily add other annotations (likeNonbindingon its members.- Type Parameters:
T- qualifier type- Parameters:
qualifier- The annotation class used to initialized the configurator- Returns:
- a non reusable
AnnotatedTypeConfiguratorto 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
AnnotatedTypeConfiguratorto configure a newAnnotatedTypeand declares it as an interceptor binding type.This is only required if you wish to make an annotation an interceptor binding type without adding
InterceptorBindingto it and need to easily add other annotations (likeNonbindingon its members.- Type Parameters:
T- binding class type- Parameters:
bindingType- The annotation class used to initialized the configurator- Returns:
- a non reusable
AnnotatedTypeConfiguratorto configure the interceptor binding - Throws:
IllegalStateException- if called outside of the observer method invocation- Since:
- 2.0
-