Package org.kordamp.jipsy.processor
Class AbstractSpiProcessor
- java.lang.Object
-
- javax.annotation.processing.AbstractProcessor
-
- org.kordamp.jipsy.processor.AbstractSpiProcessor
-
- All Implemented Interfaces:
javax.annotation.processing.Processor
- Direct Known Subclasses:
ServiceProviderProcessor,SisuIndexProviderProcessor,TypeProviderProcessor
public abstract class AbstractSpiProcessor extends javax.annotation.processing.AbstractProcessor
-
-
Field Summary
Fields Modifier and Type Field Description protected Loggerloggerprotected Optionsoptionsprotected static java.util.regex.PatternRELEASE_PATTERN
-
Constructor Summary
Constructors Constructor Description AbstractSpiProcessor()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected static booleanannotationMirrorMatches(javax.lang.model.element.AnnotationMirror annotation, java.lang.String lookingFor)protected voidcheckCompatibility()protected voidcheckJavacOnLinux()protected java.lang.StringcreateProperQualifiedName(javax.lang.model.element.TypeElement type)protected static java.util.List<javax.lang.model.element.AnnotationMirror>findAnnotationMirrors(javax.lang.model.element.TypeElement element, java.lang.String lookingFor)protected java.util.Collection<javax.lang.model.element.AnnotationValue>findCollectionValueMember(javax.lang.model.element.AnnotationMirror mirror, java.lang.String memberName)protected javax.lang.model.element.AnnotationValuefindSingleValueMember(javax.lang.model.element.AnnotationMirror mirror, java.lang.String memberName)protected abstract java.lang.Class<? extends java.lang.annotation.Annotation>getAnnotationClass()protected voidhandleAnnotations(javax.annotation.processing.RoundEnvironment roundEnv)protected abstract voidhandleElement(javax.lang.model.element.Element e)protected booleanhasModifier(javax.lang.model.element.Element element, javax.lang.model.element.Modifier modifier)protected booleanhasPublicNoArgsConstructor(javax.lang.model.element.TypeElement currentClass)voidinit(javax.annotation.processing.ProcessingEnvironment environment)protected voidinitialize()protected booleanisAbstractClass(javax.lang.model.element.TypeElement element)protected booleanisAssignable(javax.lang.model.type.TypeMirror currentClass, javax.lang.model.type.TypeMirror type)protected CheckResultisImplementation(javax.lang.model.element.TypeElement currentClass, javax.lang.model.element.TypeElement type)protected booleanisStaticClass(javax.lang.model.element.TypeElement element)booleanprocess(java.util.Set<? extends javax.lang.model.element.TypeElement> annotations, javax.annotation.processing.RoundEnvironment roundEnv)protected abstract voidremoveStaleData(javax.annotation.processing.RoundEnvironment roundEnv)protected voidreportError(javax.lang.model.element.TypeElement element, CheckResult result)protected static javax.lang.model.element.TypeElementtoElement(javax.lang.model.element.AnnotationValue value)protected voidwarning(java.lang.String message)protected abstract voidwriteData()
-
-
-
Method Detail
-
init
public void init(javax.annotation.processing.ProcessingEnvironment environment)
- 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
-
getAnnotationClass
protected abstract java.lang.Class<? extends java.lang.annotation.Annotation> getAnnotationClass()
-
handleElement
protected abstract void handleElement(javax.lang.model.element.Element e)
-
removeStaleData
protected abstract void removeStaleData(javax.annotation.processing.RoundEnvironment roundEnv)
-
writeData
protected abstract void writeData()
-
warning
protected void warning(java.lang.String message)
-
initialize
protected void initialize()
-
checkCompatibility
protected void checkCompatibility()
-
checkJavacOnLinux
protected void checkJavacOnLinux()
-
handleAnnotations
protected void handleAnnotations(javax.annotation.processing.RoundEnvironment roundEnv)
-
reportError
protected void reportError(javax.lang.model.element.TypeElement element, CheckResult result)
-
hasPublicNoArgsConstructor
protected boolean hasPublicNoArgsConstructor(javax.lang.model.element.TypeElement currentClass)
-
hasModifier
protected boolean hasModifier(javax.lang.model.element.Element element, javax.lang.model.element.Modifier modifier)
-
isStaticClass
protected boolean isStaticClass(javax.lang.model.element.TypeElement element)
-
isAbstractClass
protected boolean isAbstractClass(javax.lang.model.element.TypeElement element)
-
isImplementation
protected CheckResult isImplementation(javax.lang.model.element.TypeElement currentClass, javax.lang.model.element.TypeElement type)
-
isAssignable
protected boolean isAssignable(javax.lang.model.type.TypeMirror currentClass, javax.lang.model.type.TypeMirror type)
-
findSingleValueMember
protected javax.lang.model.element.AnnotationValue findSingleValueMember(javax.lang.model.element.AnnotationMirror mirror, java.lang.String memberName)
-
findCollectionValueMember
protected java.util.Collection<javax.lang.model.element.AnnotationValue> findCollectionValueMember(javax.lang.model.element.AnnotationMirror mirror, java.lang.String memberName)
-
createProperQualifiedName
protected java.lang.String createProperQualifiedName(javax.lang.model.element.TypeElement type)
-
findAnnotationMirrors
protected static java.util.List<javax.lang.model.element.AnnotationMirror> findAnnotationMirrors(javax.lang.model.element.TypeElement element, java.lang.String lookingFor)
-
annotationMirrorMatches
protected static boolean annotationMirrorMatches(javax.lang.model.element.AnnotationMirror annotation, java.lang.String lookingFor)
-
toElement
protected static javax.lang.model.element.TypeElement toElement(javax.lang.model.element.AnnotationValue value)
-
-