Interface MetaAnnotations
public interface MetaAnnotations
Allows registering custom CDI meta-annotations: qualifiers, interceptor bindings,
 stereotypes, and scopes. When registering a custom scope, a context class must
 also be provided.
- Since:
 - 4.0
 
- 
Method Summary
Modifier and TypeMethodDescriptionvoidaddContext(Class<? extends Annotation> scopeAnnotation, boolean isNormal, Class<? extends AlterableContext> contextClass) Registers custom context for givenscopeAnnotationand givencontextClass.voidaddContext(Class<? extends Annotation> scopeAnnotation, Class<? extends AlterableContext> contextClass) Registers custom context for givenscopeAnnotationand givencontextClass.addInterceptorBinding(Class<? extends Annotation> annotation) Registersannotationas an interceptor binding annotation.addQualifier(Class<? extends Annotation> annotation) Registersannotationas a qualifier annotation.addStereotype(Class<? extends Annotation> annotation) Registersannotationas a stereotype annotation. 
- 
Method Details
- 
addQualifier
Registersannotationas a qualifier annotation. Only makes sense if the annotation is not meta-annotated@Qualifier.Returns a class configurator object that allows transforming meta-annotations on the
annotation.- Parameters:
 annotation- annotation type- Returns:
 - the class configurator, never 
null 
 - 
addInterceptorBinding
Registersannotationas an interceptor binding annotation. Only makes sense if the annotation is not meta-annotated@InterceptorBinding.Returns a class configurator object that allows transforming meta-annotations on the
annotation.- Parameters:
 annotation- annotation type- Returns:
 - the class configurator, never 
null 
 - 
addStereotype
Registersannotationas a stereotype annotation. Only makes sense if the annotation is not meta-annotated@Stereotype.Returns a class configurator object that allows transforming meta-annotations on the
annotation.- Parameters:
 annotation- annotation type- Returns:
 - the class configurator, never 
null 
 - 
addContext
void addContext(Class<? extends Annotation> scopeAnnotation, Class<? extends AlterableContext> contextClass) Registers custom context for givenscopeAnnotationand givencontextClass. CDI container will create an instance of the context class once to obtain the context object. The context class must bepublicand have apubliczero-parameter constructor; it must not be a bean.Whether the scope is normal is discovered from the scope annotation. This means that the scope annotation must be meta-annotated either
@NormalScopeor@Scope.- Parameters:
 scopeAnnotation- the scope annotation type, must not benullcontextClass- the context class, must not benull- Throws:
 IllegalArgumentException- if thescopeAnnotationis not meta-annotated@NormalScopeor@Scope
 - 
addContext
void addContext(Class<? extends Annotation> scopeAnnotation, boolean isNormal, Class<? extends AlterableContext> contextClass) Registers custom context for givenscopeAnnotationand givencontextClass. CDI container will create an instance of the context class once to obtain the context object. The context class must bepublicand have apubliczero-parameter constructor; it must not be a bean.The
isNormalparameter determines whether the scope is a normal scope or a pseudo-scope.- Parameters:
 scopeAnnotation- the scope annotation type, must not benullisNormal- whether the scope is normalcontextClass- the context class, must not benull
 
 -