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.AbstractProcessorTheProcessorfor theConfigurationPropertyannotationThis class processes the
ConfigurationPropertyannotations 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.SourceVersiongetSupportedSourceVersion()voidinit(javax.annotation.processing.ProcessingEnvironment processingEnv)booleanprocess(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:
initin interfacejavax.annotation.processing.Processor- Overrides:
initin 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:
processin interfacejavax.annotation.processing.Processor- Specified by:
processin classjavax.annotation.processing.AbstractProcessor
-
getSupportedSourceVersion
public javax.lang.model.SourceVersion getSupportedSourceVersion()
- Specified by:
getSupportedSourceVersionin interfacejavax.annotation.processing.Processor- Overrides:
getSupportedSourceVersionin classjavax.annotation.processing.AbstractProcessor
-
-