Interface ClassConfig
-
- All Superinterfaces:
DeclarationConfig
public interface ClassConfig extends DeclarationConfig
Allows adding annotations to and removing annotations from a class. Note that the class is not physically altered, the modifications are only seen by the CDI container.- Since:
- 4.0
- See Also:
Enhancement
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ClassConfig
addAnnotation(AnnotationInfo annotation)
Adds given annotation to this class.ClassConfig
addAnnotation(Annotation annotation)
Adds given annotation to this class.ClassConfig
addAnnotation(Class<? extends Annotation> annotationType)
Adds a marker annotation of given type to this class.Collection<MethodConfig>
constructors()
Returns a collection ofMethodConfig
objects for each constructor of this class, as defined byClassInfo.constructors
.Collection<FieldConfig>
fields()
Returns a collection ofFieldConfig
objects for each field of this class, as defined byClassInfo.fields
.ClassInfo
info()
Returns theClassInfo
corresponding to this transformed class.Collection<MethodConfig>
methods()
Returns a collection ofMethodConfig
objects for each method of this class, as defined byClassInfo.methods
.ClassConfig
removeAllAnnotations()
Removes all annotations from this class.ClassConfig
removeAnnotation(Predicate<AnnotationInfo> predicate)
Removes all annotations matching given predicate from this class.
-
-
-
Method Detail
-
info
ClassInfo info()
Returns theClassInfo
corresponding to this transformed class.- Specified by:
info
in interfaceDeclarationConfig
- Returns:
- the
ClassInfo
corresponding to this transformed class, nevernull
-
addAnnotation
ClassConfig addAnnotation(Class<? extends Annotation> annotationType)
Adds a marker annotation of given type to this class. Does not allow configuring annotation members.- Specified by:
addAnnotation
in interfaceDeclarationConfig
- Parameters:
annotationType
- the annotation type, must not benull
- Returns:
- this configurator object, to allow fluent usage
-
addAnnotation
ClassConfig addAnnotation(AnnotationInfo annotation)
Adds given annotation to this class. TheAnnotationInfo
can be obtained from an annotation target, or constructed from scratch usingAnnotationBuilder
.- Specified by:
addAnnotation
in interfaceDeclarationConfig
- Parameters:
annotation
- the annotation to add to this class, must not benull
- Returns:
- this configurator object, to allow fluent usage
-
addAnnotation
ClassConfig addAnnotation(Annotation annotation)
Adds given annotation to this class. The annotation instance is typically a subclass ofAnnotationLiteral
.- Specified by:
addAnnotation
in interfaceDeclarationConfig
- Parameters:
annotation
- the annotation to add to this class, must not benull
- Returns:
- this configurator object, to allow fluent usage
-
removeAnnotation
ClassConfig removeAnnotation(Predicate<AnnotationInfo> predicate)
Removes all annotations matching given predicate from this class.- Specified by:
removeAnnotation
in interfaceDeclarationConfig
- Parameters:
predicate
- an annotation predicate, must not benull
- Returns:
- this configurator object, to allow fluent usage
-
removeAllAnnotations
ClassConfig removeAllAnnotations()
Removes all annotations from this class.- Specified by:
removeAllAnnotations
in interfaceDeclarationConfig
- Returns:
- this configurator object, to allow fluent usage
-
constructors
Collection<MethodConfig> constructors()
Returns a collection ofMethodConfig
objects for each constructor of this class, as defined byClassInfo.constructors
.- Returns:
- immutable collection of
MethodConfig
objects, nevernull
-
methods
Collection<MethodConfig> methods()
Returns a collection ofMethodConfig
objects for each method of this class, as defined byClassInfo.methods
.- Returns:
- immutable collection of
MethodConfig
objects, nevernull
-
fields
Collection<FieldConfig> fields()
Returns a collection ofFieldConfig
objects for each field of this class, as defined byClassInfo.fields
.- Returns:
- immutable collection of
FieldConfig
objects, nevernull
-
-