Class ConfigurationPropertyAnnotationProcessor
- java.lang.Object
-
- javax.annotation.processing.AbstractProcessor
-
- io.microsphere.annotation.processor.ConfigurationPropertyAnnotationProcessor
-
- All Implemented Interfaces:
javax.annotation.processing.Processor
@SupportedAnnotationTypes("io.microsphere.annotation.ConfigurationProperty") public class ConfigurationPropertyAnnotationProcessor extends javax.annotation.processing.AbstractProcessor
TheProcessor
for theConfigurationProperty
annotationThis class processes the
ConfigurationProperty
annotations during the compilation phase, collects metadata about annotated elements, and generates a JSON metadata file that contains configuration property information.init(ProcessingEnvironment)
initializes required utilities such as the Messager and ResourceProcessor.process(Set, RoundEnvironment)
handles each processing round:- During normal rounds, it resolves metadata from annotated elements.
- On the final round, it writes collected metadata into a resource file.
resolveMetadata(RoundEnvironment)
traverses all root elements to extract configuration property metadata.writeMetadata()
writes the generated metadata into a JSON file under using a writer.
- Since:
- 1.0.0
- Author:
- Mercy
- See Also:
ConfigurationProperty
,ConfigurationPropertyJSONElementVisitor
,ConfigurationPropertyGenerator
,ResourceProcessor
,Messager
,ProcessingEnvironment
-
-
Constructor Summary
Constructors Constructor Description ConfigurationPropertyAnnotationProcessor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description javax.lang.model.SourceVersion
getSupportedSourceVersion()
void
init(javax.annotation.processing.ProcessingEnvironment processingEnv)
boolean
process(java.util.Set<? extends javax.lang.model.element.TypeElement> annotations, javax.annotation.processing.RoundEnvironment roundEnv)
-
-
-
Method Detail
-
init
public void init(javax.annotation.processing.ProcessingEnvironment processingEnv)
- Specified by:
init
in interfacejavax.annotation.processing.Processor
- Overrides:
init
in classjavax.annotation.processing.AbstractProcessor
-
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
-
-