Package org.pf4j.processor
Class ExtensionAnnotationProcessor
- java.lang.Object
-
- javax.annotation.processing.AbstractProcessor
-
- org.pf4j.processor.ExtensionAnnotationProcessor
-
- All Implemented Interfaces:
javax.annotation.processing.Processor
public class ExtensionAnnotationProcessor extends javax.annotation.processing.AbstractProcessorProcessesExtensionannotations and generates anExtensionStorage. You can specify the concreteExtensionStoragevia processor's environment options (ProcessingEnvironment.getOptions()) or system property. In both variants the option/property name ispf4j.storageClassName.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.String,java.util.Set<java.lang.String>>extensionsprivate static java.lang.StringIGNORE_EXTENSION_POINTprivate booleanignoreExtensionPointprivate java.util.Map<java.lang.String,java.util.Set<java.lang.String>>oldExtensionsprivate ExtensionStoragestorageprivate static java.lang.StringSTORAGE_CLASS_NAME
-
Constructor Summary
Constructors Constructor Description ExtensionAnnotationProcessor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiderror(java.lang.String message, java.lang.Object... args)voiderror(javax.lang.model.element.Element element, java.lang.String message, java.lang.Object... args)private java.util.List<javax.lang.model.element.TypeElement>findExtensionPoints(javax.lang.model.element.TypeElement extensionElement)java.lang.StringgetBinaryName(javax.lang.model.element.TypeElement element)private javax.lang.model.element.TypeElementgetElement(javax.lang.model.type.TypeMirror typeMirror)private javax.lang.model.type.TypeMirrorgetExtensionPointType()java.util.Map<java.lang.String,java.util.Set<java.lang.String>>getExtensions()java.util.Map<java.lang.String,java.util.Set<java.lang.String>>getOldExtensions()javax.annotation.processing.ProcessingEnvironmentgetProcessingEnvironment()ExtensionStoragegetStorage()java.util.Set<java.lang.String>getSupportedAnnotationTypes()java.util.Set<java.lang.String>getSupportedOptions()javax.lang.model.SourceVersiongetSupportedSourceVersion()voidinfo(java.lang.String message, java.lang.Object... args)voidinfo(javax.lang.model.element.Element element, java.lang.String message, java.lang.Object... args)voidinit(javax.annotation.processing.ProcessingEnvironment processingEnv)private voidinitIgnoreExtensionPoint()private voidinitStorage()private booleanisExtension(javax.lang.model.type.TypeMirror typeMirror)booleanprocess(java.util.Set<? extends javax.lang.model.element.TypeElement> annotations, javax.annotation.processing.RoundEnvironment roundEnv)private voidprocessExtensionElement(javax.lang.model.element.Element element)
-
-
-
Field Detail
-
STORAGE_CLASS_NAME
private static final java.lang.String STORAGE_CLASS_NAME
- See Also:
- Constant Field Values
-
IGNORE_EXTENSION_POINT
private static final java.lang.String IGNORE_EXTENSION_POINT
- See Also:
- Constant Field Values
-
extensions
private java.util.Map<java.lang.String,java.util.Set<java.lang.String>> extensions
-
oldExtensions
private java.util.Map<java.lang.String,java.util.Set<java.lang.String>> oldExtensions
-
storage
private ExtensionStorage storage
-
ignoreExtensionPoint
private boolean ignoreExtensionPoint
-
-
Method Detail
-
init
public void init(javax.annotation.processing.ProcessingEnvironment processingEnv)
- Specified by:
initin interfacejavax.annotation.processing.Processor- Overrides:
initin classjavax.annotation.processing.AbstractProcessor
-
getSupportedSourceVersion
public javax.lang.model.SourceVersion getSupportedSourceVersion()
- Specified by:
getSupportedSourceVersionin interfacejavax.annotation.processing.Processor- Overrides:
getSupportedSourceVersionin classjavax.annotation.processing.AbstractProcessor
-
getSupportedAnnotationTypes
public java.util.Set<java.lang.String> getSupportedAnnotationTypes()
- Specified by:
getSupportedAnnotationTypesin interfacejavax.annotation.processing.Processor- Overrides:
getSupportedAnnotationTypesin classjavax.annotation.processing.AbstractProcessor
-
getSupportedOptions
public java.util.Set<java.lang.String> getSupportedOptions()
- Specified by:
getSupportedOptionsin interfacejavax.annotation.processing.Processor- Overrides:
getSupportedOptionsin 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
-
getProcessingEnvironment
public javax.annotation.processing.ProcessingEnvironment getProcessingEnvironment()
-
error
public void error(java.lang.String message, java.lang.Object... args)
-
error
public void error(javax.lang.model.element.Element element, java.lang.String message, java.lang.Object... args)
-
info
public void info(java.lang.String message, java.lang.Object... args)
-
info
public void info(javax.lang.model.element.Element element, java.lang.String message, java.lang.Object... args)
-
getBinaryName
public java.lang.String getBinaryName(javax.lang.model.element.TypeElement element)
-
getExtensions
public java.util.Map<java.lang.String,java.util.Set<java.lang.String>> getExtensions()
-
getOldExtensions
public java.util.Map<java.lang.String,java.util.Set<java.lang.String>> getOldExtensions()
-
getStorage
public ExtensionStorage getStorage()
-
findExtensionPoints
private java.util.List<javax.lang.model.element.TypeElement> findExtensionPoints(javax.lang.model.element.TypeElement extensionElement)
-
isExtension
private boolean isExtension(javax.lang.model.type.TypeMirror typeMirror)
-
getExtensionPointType
private javax.lang.model.type.TypeMirror getExtensionPointType()
-
initStorage
private void initStorage()
-
initIgnoreExtensionPoint
private void initIgnoreExtensionPoint()
-
processExtensionElement
private void processExtensionElement(javax.lang.model.element.Element element)
-
getElement
private javax.lang.model.element.TypeElement getElement(javax.lang.model.type.TypeMirror typeMirror)
-
-