@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)
RegisterGlobalsParticipantdoRegisterGlobals 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 typesRegisterGlobalsContextpublic 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)
TransformationParticipantdoTransform 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)
CodeGenerationParticipantdoGenerateCode 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)
ValidationParticipantdoValidate 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)