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
Processorimplementation to checkClasses annotated withServiceProviderForto verify the annotatedClass:- Is concrete
- Has a public no-argument constructor
-
Implements the
Classes specified byServiceProviderFor.value()
java.util.ServiceLoader.Providerpublic 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 voidprocess(Set<Class<?>> set, JavaFileManager fm)Processoralternate entry point.protected voidprocess(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:AnnotatedProcessorCallback method to process an annotatedElement. Default implementation does nothing.- Overrides:
processin 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:ClassFileProcessorProcessoralternate entry point.- Specified by:
processin interfaceClassFileProcessor- Parameters:
set- TheSetofClasses to analyze.fm- The configuredJavaFileManager(for writing output files).- Throws:
Exception- If the implementation throws aException.
-
-