- java.lang.Object
-
- javax.annotation.processing.AbstractProcessor
-
- All Implemented Interfaces:
-
Processor
public abstract class AbstractProcessor extends Object implements Processor
一个抽象的注释处理器,被设计为大多数具体注解处理器的一个方便的超类。 此类检查注释值来计算options , annotation types ,并source version其亚型支持。吸气剂方法可以用issue warnings关于在处理器已经被使用之后可用的设施的值得注意的条件是initialized 。
子类可以覆盖该类中任何方法的实现和规范,只要符合该方法的一般
Processor
合同即可。- 从以下版本开始:
- 1.6
-
-
Field Summary
Fields Modifier and Type Field 描述 protected ProcessingEnvironment
processingEnv
由工具框架提供的处理环境。
-
构造方法摘要
构造方法 Modifier Constructor 描述 protected
AbstractProcessor()
调用子类的构造方法。
-
方法摘要
所有方法 接口方法 抽象方法 具体的方法 Modifier and Type 方法 描述 Iterable<? extends Completion>
getCompletions(Element element, AnnotationMirror annotation, ExecutableElement member, String userText)
返回一个空的可迭代的完成。Set<String>
getSupportedAnnotationTypes()
如果使用SupportedAnnotationTypes
注释处理器类,则返回与注释具有相同字符串集的不可修改集。Set<String>
getSupportedOptions()
如果处理器类注释为SupportedOptions
,则返回一个不可修改的集合,该集合与注释具有相同的字符串集。SourceVersion
getSupportedSourceVersion()
如果处理器类注释为SupportedSourceVersion
,则返回注释中的源版本。void
init(ProcessingEnvironment processingEnv)
通过将processingEnv
字段设置为processingEnv
参数的值,通过处理环境初始化处理器。protected boolean
isInitialized()
abstract boolean
process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv)
对来自前一轮的类型元素处理一组注释类型,并返回此处理器是否声明这些注释类型。
-
-
-
字段详细信息
-
processingEnv
protected ProcessingEnvironment processingEnv
由工具框架提供的处理环境。
-
-
方法详细信息
-
getSupportedOptions
public Set<String> getSupportedOptions()
如果使用SupportedOptions
注释处理器类,则返回与注释具有相同字符串集的不可修改集合。 如果类没有这样注释,则返回一个空集合。- Specified by:
-
getSupportedOptions
在接口Processor
- 结果
- 该处理器识别的选项,如果没有,则为空集
- 另请参见:
-
SupportedOptions
-
getSupportedAnnotationTypes
public Set<String> getSupportedAnnotationTypes()
如果使用SupportedAnnotationTypes
注释处理器类,则返回与注释具有相同字符串集的不可修改集。 如果类没有这样注释,则返回一个空集合。 如果source version
不支持模块,换句话说,如果它小于或等于RELEASE_8
,则任何前导的module prefixes
都将从名称中删除。- Specified by:
-
getSupportedAnnotationTypes
接口Processor
- 结果
- 该处理器支持的注释类型的名称,如果没有,则为空集
- 另请参见:
-
SupportedAnnotationTypes
-
getSupportedSourceVersion
public SourceVersion getSupportedSourceVersion()
如果处理器类注释为SupportedSourceVersion
,则返回注释中的源版本。 如果类没有这样注释,则返回SourceVersion.RELEASE_6
。- Specified by:
-
getSupportedSourceVersion
在接口Processor
- 结果
- 该处理器支持的最新的源版本
- 另请参见:
-
SupportedSourceVersion
,ProcessingEnvironment.getSourceVersion()
-
init
public void init(ProcessingEnvironment processingEnv)
通过将processingEnv
字段设置为processingEnv
参数的值,通过处理环境初始化处理器。 如果在同一对象上多次调用此方法,则将抛出IllegalStateException
。- Specified by:
-
init
接口Processor
- 参数
-
processingEnv
- 工具框架向处理器提供访问环境的环境 - 异常
-
IllegalStateException
- 如果这个方法被调用不止一次。
-
process
public abstract boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv)
对来自前一轮的类型元素处理一组注释类型,并返回此处理器是否声明这些注释类型。 如果返回true
,则会声明注释类型,并且不会要求后续处理器处理它们; 如果返回false
,注释类型是无人认领的,并且可能要求后续处理器处理它们。 处理器可以总是返回相同的布尔值,或者可以根据其自己选择的标准来改变结果。如果处理器支持
"*"
并且根元素没有注释,输入集将为空。 AProcessor
必须优雅地处理一组空的注释。
-
getCompletions
public Iterable<? extends Completion> getCompletions(Element element, AnnotationMirror annotation, ExecutableElement member, String userText)
返回一个空的可迭代的完成。- Specified by:
-
getCompletions
在接口Processor
- 参数
-
element
- 要注释的元素 -
annotation
- (可能是部分的)注释被应用于元素 -
member
- 注释成员返回可能的完成 -
userText
- 要完成的源代码文本 - 结果
- 建议完成注释
-
isInitialized
protected boolean isInitialized()
- 结果
-
true
如果此对象已初始化,否则为false
。
-
-