@Beta public abstract class AbstractAnnotationTypeProcessor extends java.lang.Object implements RegisterGlobalsParticipant<AnnotationTypeDeclaration>, TransformationParticipant<MutableAnnotationTypeDeclaration>, CodeGenerationParticipant<AnnotationTypeDeclaration>, ValidationParticipant<AnnotationTypeDeclaration>
Constructor and Description |
---|
AbstractAnnotationTypeProcessor() |
Modifier and Type | Method and Description |
---|---|
void |
doGenerateCode(AnnotationTypeDeclaration annotatedAnnotationType,
CodeGenerationContext context)
Called during code generation.
|
void |
doGenerateCode(java.util.List<? extends AnnotationTypeDeclaration> annotatedSourceElements,
CodeGenerationContext context)
Invoked by the compiler during the code generation phase.
|
void |
doRegisterGlobals(AnnotationTypeDeclaration annotatedAnnotationType,
RegisterGlobalsContext context)
Called during global symbol collecting.
|
void |
doRegisterGlobals(java.util.List<? extends AnnotationTypeDeclaration> annotatedAnnotationTypes,
RegisterGlobalsContext context)
Called by the compiler during register-globals phase.
|
void |
doTransform(java.util.List<? extends MutableAnnotationTypeDeclaration> annotatedAnnotationTypes,
TransformationContext context)
Invoked by the compiler
|
void |
doTransform(MutableAnnotationTypeDeclaration annotatedAnnotationType,
TransformationContext context) |
void |
doValidate(AnnotationTypeDeclaration annotatedAnnotationType,
ValidationContext context)
Invoked by the validator
|
void |
doValidate(java.util.List<? extends AnnotationTypeDeclaration> annotatedAnnotationTypes,
ValidationContext context)
Invoked by the validator
|
public void doRegisterGlobals(java.util.List<? extends AnnotationTypeDeclaration> annotatedAnnotationTypes, @Extension RegisterGlobalsContext context)
RegisterGlobalsParticipant
doRegisterGlobals
in interface RegisterGlobalsParticipant<AnnotationTypeDeclaration>
annotatedAnnotationTypes
- the source elements from the currently processed compilation
unit which are annotated with active annotationcontext
- services to register new Java typesRegisterGlobalsContext
public void doRegisterGlobals(AnnotationTypeDeclaration annotatedAnnotationType, @Extension RegisterGlobalsContext context)
annotatedAnnotationType
- a source element annotated with the annotation this processor is responsible for.context
- public void doTransform(java.util.List<? extends MutableAnnotationTypeDeclaration> annotatedAnnotationTypes, @Extension TransformationContext context)
TransformationParticipant
doTransform
in interface TransformationParticipant<MutableAnnotationTypeDeclaration>
annotatedAnnotationTypes
- the mutable java representation of the annotated elementscontext
- a TransformationContext
providing useful services.public void doTransform(MutableAnnotationTypeDeclaration annotatedAnnotationType, @Extension TransformationContext context)
annotatedAnnotationType
- a mutable annotation type representation annotated with the annotation this processor is responsible for.context
- public void doGenerateCode(java.util.List<? extends AnnotationTypeDeclaration> annotatedSourceElements, @Extension CodeGenerationContext context)
CodeGenerationParticipant
doGenerateCode
in interface CodeGenerationParticipant<AnnotationTypeDeclaration>
annotatedSourceElements
- the immutable source representation (i.e. the Xtend AST) of the annotated elementscontext
- a TransformationContext
providing useful services.public void doGenerateCode(AnnotationTypeDeclaration annotatedAnnotationType, @Extension CodeGenerationContext context)
annotatedAnnotationType
- a source element annotated with the annotation this processor is responsible for.context
- CodeGenerationParticipant.doGenerateCode(List, CodeGenerationContext)
public void doValidate(java.util.List<? extends AnnotationTypeDeclaration> annotatedAnnotationTypes, @Extension ValidationContext context)
ValidationParticipant
doValidate
in interface ValidationParticipant<AnnotationTypeDeclaration>
annotatedAnnotationTypes
- the java representation of the annotated elementscontext
- a ValidationContext
providing useful services.public void doValidate(AnnotationTypeDeclaration annotatedAnnotationType, @Extension ValidationContext context)
annotatedAnnotationType
- the generated annotation type that should be validatedcontext
- doValidate(List, ValidationContext)