public abstract class AbstractProcessor extends Objectimplements Processor
The getter methods may issue warnings about noteworthy conditions using the facilities available after the processor has been initialized.
Subclasses are free to override the implementation and specification of any of the methods in this class as long as the general Processor contract for that method is obeyed.
| Modifier and Type | Field and Description |
|---|---|
protected ProcessingEnvironment |
processingEnv
Processing environment providing by the tool framework.
|
| Modifier | Constructor and Description |
|---|---|
protected |
AbstractProcessor()
Constructor for subclasses to call.
|
| Modifier and Type | Method and Description |
|---|---|
Iterable |
getCompletions(Element
Returns an empty iterable of completions.
|
Set |
getSupportedAnnotationTypes()
If the processor class is annotated with
SupportedAnnotationTypes, return an unmodifiable set with the same set of strings as the annotation.
|
Set |
getSupportedOptions()
If the processor class is annotated with
SupportedOptions, return an unmodifiable set with the same set of strings as the annotation.
|
SourceVersion |
getSupportedSourceVersion()
If the processor class is annotated with
SupportedSourceVersion, return the source version in the annotation.
|
void |
init(ProcessingEnvironment
Initializes the processor with the processing environment by setting the
processingEnv field to the value of the
processingEnv argument.
|
protected boolean |
isInitialized()
|
abstract boolean |
process(Set
Processes a set of annotation types on type elements originating from the prior round and returns whether or not these annotation types are claimed by this processor.
|
protected ProcessingEnvironmentprocessingEnv
protected AbstractProcessor()
public Set<String > getSupportedOptions()
SupportedOptions, return an unmodifiable set with the same set of strings as the annotation. If the class is not so annotated, an empty set is returned.
getSupportedOptions in interface
Processor
SupportedOptions
public Set<String > getSupportedAnnotationTypes()
SupportedAnnotationTypes, return an unmodifiable set with the same set of strings as the annotation. If the class is not so annotated, an empty set is returned.
getSupportedAnnotationTypes in interface
Processor
SupportedAnnotationTypes
public SourceVersiongetSupportedSourceVersion()
SupportedSourceVersion, return the source version in the annotation. If the class is not so annotated,
SourceVersion.RELEASE_6 is returned.
getSupportedSourceVersion in interface
Processor
SupportedSourceVersion,
ProcessingEnvironment.getSourceVersion()
public void init(ProcessingEnvironmentprocessingEnv)
processingEnv field to the value of the
processingEnv argument. An
IllegalStateException will be thrown if this method is called more than once on the same object.
init in interface
Processor
processingEnv - environment to access facilities the tool framework provides to the processor
IllegalStateException - if this method is called more than once.
public abstract boolean process(Set<? extends TypeElement > annotations, RoundEnvironment roundEnv)
true is returned, the annotation types are claimed and subsequent processors will not be asked to process them; if
false is returned, the annotation types are unclaimed and subsequent processors may be asked to process them. A processor may always return the same boolean value or may vary the result based on chosen criteria.
The input set will be empty if the processor supports "*" and the root elements have no annotations. A Processor must gracefully handle an empty set of annotations.
public Iterable<? extends Completion > getCompletions(Element element, AnnotationMirror annotation, ExecutableElement member, String userText)
getCompletions in interface
Processor
element - the element being annotated
annotation - the (perhaps partial) annotation being applied to the element
member - the annotation member to return possible completions for
userText - source code text to be completed
protected boolean isInitialized()
true if this object has been initialized,
false otherwise.