Interface DeclarationConfig
- All Known Subinterfaces:
ClassConfig, FieldConfig, MethodConfig, ParameterConfig
public interface DeclarationConfig
Allows adding annotations to and removing annotations from a declaration.
Note that the declaration is not physically altered, the modifications
are only seen by the CDI container.
- Since:
- 4.0
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionaddAnnotation(jakarta.enterprise.lang.model.AnnotationInfo annotation) Adds given annotation to this declaration.addAnnotation(Annotation annotation) Adds given annotation to this declaration.addAnnotation(Class<? extends Annotation> annotationType) Adds a marker annotation of given type to this declaration.jakarta.enterprise.lang.model.declarations.DeclarationInfoinfo()Returns theDeclarationInfocorresponding to this transformed declaration.Removes all annotations from this declaration.removeAnnotation(Predicate<jakarta.enterprise.lang.model.AnnotationInfo> predicate) Removes all annotations matching given predicate from this declaration.
-
Method Details
-
info
jakarta.enterprise.lang.model.declarations.DeclarationInfo info()Returns theDeclarationInfocorresponding to this transformed declaration.- Returns:
- the
DeclarationInfocorresponding to this transformed declaration, nevernull
-
addAnnotation
Adds a marker annotation of given type to this declaration. Does not allow configuring annotation members.- Parameters:
annotationType- the annotation type, must not benull- Returns:
- this configurator object, to allow fluent usage
-
addAnnotation
Adds given annotation to this declaration. TheAnnotationInfocan be obtained from an annotation target, or constructed from scratch usingAnnotationBuilder.- Parameters:
annotation- the annotation to add to this declaration, must not benull- Returns:
- this configurator object, to allow fluent usage
-
addAnnotation
Adds given annotation to this declaration. The annotation instance is typically a subclass ofAnnotationLiteral.- Parameters:
annotation- the annotation to add to this declaration, must not benull- Returns:
- this configurator object, to allow fluent usage
-
removeAnnotation
DeclarationConfig removeAnnotation(Predicate<jakarta.enterprise.lang.model.AnnotationInfo> predicate) Removes all annotations matching given predicate from this declaration.- Parameters:
predicate- an annotation predicate, must not benull- Returns:
- this configurator object, to allow fluent usage
-
removeAllAnnotations
DeclarationConfig removeAllAnnotations()Removes all annotations from this declaration.- Returns:
- this configurator object, to allow fluent usage
-