-
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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addContext(java.lang.Class<? extends java.lang.annotation.Annotation> scopeAnnotation, boolean isNormal, java.lang.Class<? extends AlterableContext> contextClass)
Registers custom context for givenscopeAnnotation
and givencontextClass
.void
addContext(java.lang.Class<? extends java.lang.annotation.Annotation> scopeAnnotation, java.lang.Class<? extends AlterableContext> contextClass)
Registers custom context for givenscopeAnnotation
and givencontextClass
.ClassConfig
addInterceptorBinding(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
Registersannotation
as an interceptor binding annotation.ClassConfig
addQualifier(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
Registersannotation
as a qualifier annotation.ClassConfig
addStereotype(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
Registersannotation
as a stereotype annotation.
-
-
-
Method Detail
-
addQualifier
ClassConfig addQualifier(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
Registersannotation
as 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
ClassConfig addInterceptorBinding(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
Registersannotation
as 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
ClassConfig addStereotype(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
Registersannotation
as 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(java.lang.Class<? extends java.lang.annotation.Annotation> scopeAnnotation, java.lang.Class<? extends AlterableContext> contextClass)
Registers custom context for givenscopeAnnotation
and givencontextClass
. CDI container will create an instance of the context class once to obtain the context object. The context class must bepublic
and have apublic
zero-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
@NormalScope
or@Scope
.- Parameters:
scopeAnnotation
- the scope annotation type, must not benull
contextClass
- the context class, must not benull
- Throws:
java.lang.IllegalArgumentException
- if thescopeAnnotation
is not meta-annotated@NormalScope
or@Scope
-
addContext
void addContext(java.lang.Class<? extends java.lang.annotation.Annotation> scopeAnnotation, boolean isNormal, java.lang.Class<? extends AlterableContext> contextClass)
Registers custom context for givenscopeAnnotation
and givencontextClass
. CDI container will create an instance of the context class once to obtain the context object. The context class must bepublic
and have apublic
zero-parameter constructor; it must not be a bean.The
isNormal
parameter determines whether the scope is a normal scope or a pseudo-scope.- Parameters:
scopeAnnotation
- the scope annotation type, must not benull
isNormal
- whether the scope is normalcontextClass
- the context class, must not benull
-
-