Package ball.annotation.processing
Class ServiceProviderForProcessor
- java.lang.Object
-
- ball.annotation.processing.JavaxLangModelUtilities
-
- ball.annotation.processing.AbstractProcessor
-
- ball.annotation.processing.AnnotatedProcessor
-
- ball.annotation.processing.ServiceProviderForProcessor
-
- All Implemented Interfaces:
ClassFileProcessor
,JavaLangReflectMethods
,Processor
@ServiceProviderFor(javax.annotation.processing.Processor.class) @For(ServiceProviderFor.class) public class ServiceProviderForProcessor extends AnnotatedProcessor implements ClassFileProcessor
Processor
implementation to checkClass
es annotated withServiceProviderFor
to verify the annotatedClass
:- Is concrete
- Has a public no-argument constructor
-
Implements the
Class
es specified byServiceProviderFor.value()
java.util.ServiceLoader.Provider
public static T provider()
method.Note: Google offers a similar AutoService library.
- Author:
- Allen D. Ball
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class ball.annotation.processing.AbstractProcessor
AbstractProcessor.Check<T extends Element>, AbstractProcessor.Criterion<T extends Element>
-
-
Field Summary
-
Fields inherited from class ball.annotation.processing.AbstractProcessor
filer, javac
-
Fields inherited from class ball.annotation.processing.JavaxLangModelUtilities
elements, fm, types
-
-
Constructor Summary
Constructors Constructor Description ServiceProviderForProcessor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
process(Set<Class<?>> set, JavaFileManager fm)
Processor
alternate entry point.protected void
process(RoundEnvironment roundEnv, TypeElement annotation, Element element)
Callback method to process an annotatedElement
.-
Methods inherited from class ball.annotation.processing.AnnotatedProcessor
getSupportedAnnotationTypeList, getSupportedAnnotationTypes, init, process
-
Methods inherited from class ball.annotation.processing.AbstractProcessor
getCompletions, getSupportedOptions, getSupportedSourceVersion, print, print, print, print, print, whenAnnotationProcessingFinished
-
Methods inherited from class ball.annotation.processing.JavaxLangModelUtilities
asClass, asExecutableElement, asExecutableElement, asPackageInfoClass, asTypeElement, asTypeMirror, asTypeMirrorList, asVariableElement, getAnnotationMirror, getAnnotationMirror, getAnnotationValue, getClassLoader, getClassPathClassLoader, getClassPathClassLoader, getConstructor, getEnclosingTypeElement, getMethod, getPropertyName, getPropertyNames, getTypeElementFor, hasSameSignatureAs, hasSameSignatureAs, hasSameSignatureAs, implementationOf, isAssignableTo, isAssignableTo, isAssignableTo, isAssignableTo, isEmptyArray, isGenerated, isGetterMethod, named, overrides, overrides, signature, signature, specifiedBy, toEnumSet, toModifiers, with, withModifiers, withModifiers, without, withoutModifiers, withoutModifiers, withParameters, withParameters
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface ball.lang.reflect.JavaLangReflectMethods
asModifierSet, declaration, declaration, declaration, declaration, declaration, declaration, declaration, declaration, exceptions, getModifiers, getModifiers, modifiers, parameters, type, type
-
Methods inherited from interface javax.annotation.processing.Processor
getCompletions, getSupportedAnnotationTypes, getSupportedOptions, getSupportedSourceVersion, init, process
-
-
-
-
Constructor Detail
-
ServiceProviderForProcessor
public ServiceProviderForProcessor()
-
-
Method Detail
-
process
protected void process(RoundEnvironment roundEnv, TypeElement annotation, Element element)
Description copied from class:AnnotatedProcessor
Callback method to process an annotatedElement
. Default implementation does nothing.- Overrides:
process
in classAnnotatedProcessor
- Parameters:
roundEnv
- TheRoundEnvironment
.annotation
- The annotationTypeElement
.element
- The annotatedElement
.
-
process
public void process(Set<Class<?>> set, JavaFileManager fm) throws Exception
Description copied from interface:ClassFileProcessor
Processor
alternate entry point.- Specified by:
process
in interfaceClassFileProcessor
- Parameters:
set
- TheSet
ofClass
es to analyze.fm
- The configuredJavaFileManager
(for writing output files).- Throws:
Exception
- If the implementation throws aException
.
-
-