Class ConfigurationMetadataProcessor
- java.lang.Object
-
- javax.annotation.processing.AbstractProcessor
-
- io.micronaut.annotation.processing.ConfigurationMetadataProcessor
-
- All Implemented Interfaces:
javax.annotation.processing.Processor
public class ConfigurationMetadataProcessor extends javax.annotation.processing.AbstractProcessor
Handles Configuration metadata generation.- Since:
- 3.5.1
-
-
Field Summary
Fields Modifier and Type Field Description protected AnnotationUtils
annotationUtils
protected AnnotationProcessingOutputVisitor
classWriterOutputVisitor
protected javax.lang.model.util.Elements
elementUtils
protected javax.annotation.processing.Filer
filer
protected GenericUtils
genericUtils
protected static java.lang.String
GRADLE_PROCESSING_AGGREGATING
Constant for aggregating processor.protected static java.lang.String
GRADLE_PROCESSING_ISOLATING
Constant for isolating processor.protected JavaVisitorContext
javaVisitorContext
protected javax.annotation.processing.Messager
messager
protected static java.lang.String
MICRONAUT_PROCESSING_ANNOTATIONS
Annotation processor option used to add additional annotation patterns to process.protected static java.lang.String
MICRONAUT_PROCESSING_INCREMENTAL
Annotation processor option used to activate incremental processing.protected ModelUtils
modelUtils
protected javax.lang.model.util.Types
typeUtils
protected io.micronaut.core.convert.value.MutableConvertibleValues<java.lang.Object>
visitorAttributes
-
Constructor Summary
Constructors Constructor Description ConfigurationMetadataProcessor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
error(java.lang.String msg, java.lang.Object... args)
Produce a compile error for the given message.protected void
error(javax.lang.model.element.Element e, java.lang.String msg, java.lang.Object... args)
Produce a compile error for the given element and message.protected java.lang.String
getIncrementalProcessorType()
java.util.Set<java.lang.String>
getSupportedAnnotationTypes()
java.util.Set<java.lang.String>
getSupportedOptions()
javax.lang.model.SourceVersion
getSupportedSourceVersion()
protected io.micronaut.inject.visitor.TypeElementVisitor.VisitorKind
getVisitorKind()
obtains the visitor kind.void
init(javax.annotation.processing.ProcessingEnvironment processingEnv)
protected boolean
isIncremental(javax.annotation.processing.ProcessingEnvironment processingEnv)
Whether incremental compilation is enabled.protected boolean
isProcessedAnnotation(java.lang.String annotationName)
Return whether the given annotation is processed.protected JavaVisitorContext
newVisitorContext(javax.annotation.processing.ProcessingEnvironment processingEnv)
Creates the visitor context.protected void
note(java.lang.String msg, java.lang.Object... args)
Produce a compile note for the given element and message.protected void
note(javax.lang.model.element.Element e, java.lang.String msg, java.lang.Object... args)
Produce a compile note for the given element and message.boolean
process(java.util.Set<? extends javax.lang.model.element.TypeElement> annotations, javax.annotation.processing.RoundEnvironment roundEnv)
protected void
warning(java.lang.String msg, java.lang.Object... args)
Produce a compile warning for the given message.protected void
warning(javax.lang.model.element.Element e, java.lang.String msg, java.lang.Object... args)
Produce a compile warning for the given element and message.
-
-
-
Field Detail
-
MICRONAUT_PROCESSING_INCREMENTAL
protected static final java.lang.String MICRONAUT_PROCESSING_INCREMENTAL
Annotation processor option used to activate incremental processing.- See Also:
- Constant Field Values
-
MICRONAUT_PROCESSING_ANNOTATIONS
protected static final java.lang.String MICRONAUT_PROCESSING_ANNOTATIONS
Annotation processor option used to add additional annotation patterns to process.- See Also:
- Constant Field Values
-
GRADLE_PROCESSING_AGGREGATING
protected static final java.lang.String GRADLE_PROCESSING_AGGREGATING
Constant for aggregating processor.- See Also:
- Constant Field Values
-
GRADLE_PROCESSING_ISOLATING
protected static final java.lang.String GRADLE_PROCESSING_ISOLATING
Constant for isolating processor.- See Also:
- Constant Field Values
-
messager
protected javax.annotation.processing.Messager messager
-
filer
protected javax.annotation.processing.Filer filer
-
elementUtils
protected javax.lang.model.util.Elements elementUtils
-
typeUtils
protected javax.lang.model.util.Types typeUtils
-
annotationUtils
protected AnnotationUtils annotationUtils
-
genericUtils
protected GenericUtils genericUtils
-
modelUtils
protected ModelUtils modelUtils
-
visitorAttributes
protected io.micronaut.core.convert.value.MutableConvertibleValues<java.lang.Object> visitorAttributes
-
classWriterOutputVisitor
protected AnnotationProcessingOutputVisitor classWriterOutputVisitor
-
javaVisitorContext
protected JavaVisitorContext javaVisitorContext
-
-
Method Detail
-
getSupportedAnnotationTypes
public java.util.Set<java.lang.String> getSupportedAnnotationTypes()
- Specified by:
getSupportedAnnotationTypes
in interfacejavax.annotation.processing.Processor
-
getVisitorKind
protected io.micronaut.inject.visitor.TypeElementVisitor.VisitorKind getVisitorKind()
obtains the visitor kind.- Returns:
- The visitor kind
-
getIncrementalProcessorType
protected java.lang.String getIncrementalProcessorType()
- Returns:
- The incremental processor type.
- See Also:
GRADLE_PROCESSING_AGGREGATING
,GRADLE_PROCESSING_ISOLATING
-
process
public boolean process(java.util.Set<? extends javax.lang.model.element.TypeElement> annotations, javax.annotation.processing.RoundEnvironment roundEnv)
- Specified by:
process
in interfacejavax.annotation.processing.Processor
- Specified by:
process
in classjavax.annotation.processing.AbstractProcessor
-
getSupportedSourceVersion
public javax.lang.model.SourceVersion getSupportedSourceVersion()
- Specified by:
getSupportedSourceVersion
in interfacejavax.annotation.processing.Processor
- Overrides:
getSupportedSourceVersion
in classjavax.annotation.processing.AbstractProcessor
-
getSupportedOptions
public java.util.Set<java.lang.String> getSupportedOptions()
- Specified by:
getSupportedOptions
in interfacejavax.annotation.processing.Processor
- Overrides:
getSupportedOptions
in classjavax.annotation.processing.AbstractProcessor
-
isProcessedAnnotation
protected boolean isProcessedAnnotation(java.lang.String annotationName)
Return whether the given annotation is processed.- Parameters:
annotationName
- The annotation name- Returns:
- True if it is
-
init
public void init(javax.annotation.processing.ProcessingEnvironment processingEnv)
- Specified by:
init
in interfacejavax.annotation.processing.Processor
- Overrides:
init
in classjavax.annotation.processing.AbstractProcessor
-
newVisitorContext
@NonNull protected JavaVisitorContext newVisitorContext(@NonNull javax.annotation.processing.ProcessingEnvironment processingEnv)
Creates the visitor context.- Parameters:
processingEnv
- The processing env- Returns:
- The context
-
error
protected final void error(javax.lang.model.element.Element e, java.lang.String msg, java.lang.Object... args)
Produce a compile error for the given element and message.- Parameters:
e
- The elementmsg
- The messageargs
- The string format args
-
error
protected final void error(java.lang.String msg, java.lang.Object... args)
Produce a compile error for the given message.- Parameters:
msg
- The messageargs
- The string format args
-
warning
protected final void warning(javax.lang.model.element.Element e, java.lang.String msg, java.lang.Object... args)
Produce a compile warning for the given element and message.- Parameters:
e
- The elementmsg
- The messageargs
- The string format args
-
warning
protected final void warning(java.lang.String msg, java.lang.Object... args)
Produce a compile warning for the given message.- Parameters:
msg
- The messageargs
- The string format args
-
note
protected final void note(javax.lang.model.element.Element e, java.lang.String msg, java.lang.Object... args)
Produce a compile note for the given element and message.- Parameters:
e
- The elementmsg
- The messageargs
- The string format args
-
note
protected final void note(java.lang.String msg, java.lang.Object... args)
Produce a compile note for the given element and message.- Parameters:
msg
- The messageargs
- The string format args
-
isIncremental
protected boolean isIncremental(@NonNull javax.annotation.processing.ProcessingEnvironment processingEnv)
Whether incremental compilation is enabled.- Parameters:
processingEnv
- The processing environment.- Returns:
- True if it is
-
-