public abstract class AbstractProcessor extends Object implements 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<? extends Completion> |
getCompletions(Element element,
AnnotationMirror annotation,
ExecutableElement member,
String userText)
Returns an empty iterable of completions.
|
Set<String> |
getSupportedAnnotationTypes()
If the processor class is annotated with
SupportedAnnotationTypes , return an unmodifiable set with the
same set of strings as the annotation. |
Set<String> |
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 processingEnv)
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<? extends TypeElement> annotations,
RoundEnvironment roundEnv)
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 ProcessingEnvironment processingEnv
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 SourceVersion getSupportedSourceVersion()
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(ProcessingEnvironment processingEnv)
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 processorIllegalStateException
- 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 annotatedannotation
- the (perhaps partial) annotation being
applied to the elementmember
- the annotation member to return possible completions foruserText
- source code text to be completedprotected boolean isInitialized()
true
if this object has been initialized,
false
otherwise. Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.