java.lang.Object javax.annotation.processing.AbstractProcessor
旨在用作最具体注释 processor 的便捷超类的抽象注释 processor。此类检查注释值,以计算其子类型所支持的选项、注释和源版本。
在 processor 被初始化之后,获取方法可以使用可用设施来发出有关值得注意的条件的警告。
只要遵守该方法的常规 Processor
协定,子类可随意重写此类中任何方法的实现和规范。
字段摘要 | |
---|---|
protected ProcessingEnvironment |
processingEnv 工具框架提供的处理环境。 |
构造方法摘要 | |
---|---|
protected |
AbstractProcessor() 子类要调用的构造方法。 |
方法摘要 | |
---|---|
Iterable<? extends Completion> |
getCompletions(Element element, AnnotationMirror annotation, ExecutableElement member, String userText) 返回一个空的 completion 迭代。 |
Set<String> |
getSupportedAnnotationTypes() 如果 processor 类是使用 SupportedAnnotationTypes 注释的,则返回一个不可修改的集合,该集合具有与注释相同的字符串集。 |
Set<String> |
getSupportedOptions() 如果 processor 类是使用 SupportedOptions 注释的,则返回一个不可修改的集合,该集合具有与注释相同的字符串集。 |
SourceVersion |
getSupportedSourceVersion() 如果 processor 类是使用 SupportedSourceVersion 注释的,则返回注释中的源版本。 |
void |
init(ProcessingEnvironment processingEnv) 用处理环境初始化 processor,方法是将 processingEnv 字段设置为 processingEnv 参数的值。 |
protected boolean |
isInitialized() 如果此对象已被初始化,则返回 true ,否则返回 false 。 |
abstract boolean |
process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) 处理先前 round 产生的类型元素上的注释类型集,并返回这些注释是否由此 Processor 声明。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息 |
---|
protected ProcessingEnvironment processingEnv
构造方法详细信息 |
---|
protected AbstractProcessor()
方法详细信息 |
---|
public Set<String> getSupportedOptions()
SupportedOptions
注释的,则返回一个不可修改的集合,该集合具有与注释相同的字符串集。如果类不是以这种方式注释的,则返回一个空集合。
Processor
中的
getSupportedOptions
SupportedOptions
public Set<String> getSupportedAnnotationTypes()
SupportedAnnotationTypes
注释的,则返回一个不可修改的集合,该集合具有与注释相同的字符串集。如果类不是以这种方式注释的,则返回一个空集合。
Processor
中的
getSupportedAnnotationTypes
SupportedAnnotationTypes
public SourceVersion getSupportedSourceVersion()
SupportedSourceVersion
注释的,则返回注释中的源版本。如果类不是以这种方式注释的,则返回
SourceVersion.RELEASE_6
。
Processor
中的
getSupportedSourceVersion
SupportedSourceVersion
,
ProcessingEnvironment.getSourceVersion()
public void init(ProcessingEnvironment processingEnv)
processingEnv
字段设置为
processingEnv
参数的值。如果在同一对象上多次调用此方法,则抛出
IllegalStateException
。
processingEnv
- 用来访问工具框架提供给 processor 的设施的环境
IllegalStateException
- 如果多次调用此方法。
public abstract boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv)
true
,则这些注释已声明并且不要求后续 Processor 处理它们;如果返回
false
,则这些注释未声明并且可能要求后续 Processor 处理它们。Processor 可能总是返回相同的 boolean 值,或者可能基于所选择的标准而返回不同的结果。
如果 Processor 支持 "*"
并且根元素没有注释,则输入集合将为空。Processor
必须妥善处理空注释集。
annotations
- 请求处理的注释类型
roundEnv
- 有关当前和以前 round 的信息的环境
public Iterable<? extends Completion> getCompletions(Element element, AnnotationMirror annotation, ExecutableElement member, String userText)
Processor
中的
getCompletions
element
- 将被注释的元素
annotation
- 将应用于元素的注释(可能是一部分)
member
- 为其返回可能 completion 的注释成员
userText
- 将补充完整的源代码文本
protected boolean isInitialized()
true
,否则返回
false
。
true
,否则返回
false
。