JavaTM 2 Platform
Standard Ed. 6

javax.annotation.processing
类 AbstractProcessor

java.lang.Object
  继承者 javax.annotation.processing.AbstractProcessor
所有已实现的接口:
Processor

public abstract class AbstractProcessor
extends Object
implements Processor

旨在用作最具体注释 processor 的便捷超类的抽象注释 processor。此类检查注释值,以计算其子类型所支持的选项注释源版本

在 processor 被初始化之后,获取方法可以使用可用设施来发出有关值得注意的条件的警告

只要遵守该方法的常规 Processor 协定,子类可随意重写此类中任何方法的实现和规范。

从以下版本开始:
1.6

字段摘要
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
 

字段详细信息

processingEnv

protected ProcessingEnvironment processingEnv
工具框架提供的处理环境。

构造方法详细信息

AbstractProcessor

protected AbstractProcessor()
子类要调用的构造方法。

方法详细信息

getSupportedOptions

public Set<String> getSupportedOptions()
如果 processor 类是使用 SupportedOptions 注释的,则返回一个不可修改的集合,该集合具有与注释相同的字符串集。如果类不是以这种方式注释的,则返回一个空集合。

指定者:
接口 Processor 中的 getSupportedOptions
返回:
由此 processor 识别的选项;如果没有这样的选项,则返回一个空集合
另请参见:
SupportedOptions

getSupportedAnnotationTypes

public Set<String> getSupportedAnnotationTypes()
如果 processor 类是使用 SupportedAnnotationTypes 注释的,则返回一个不可修改的集合,该集合具有与注释相同的字符串集。如果类不是以这种方式注释的,则返回一个空集合。

指定者:
接口 Processor 中的 getSupportedAnnotationTypes
返回:
此 processor 所支持的注释类型的名称;如果没有这样的类型,则返回一个空集合
另请参见:
SupportedAnnotationTypes

getSupportedSourceVersion

public SourceVersion getSupportedSourceVersion()
如果 processor 类是使用 SupportedSourceVersion 注释的,则返回注释中的源版本。如果类不是以这种方式注释的,则返回 SourceVersion.RELEASE_6

指定者:
接口 Processor 中的 getSupportedSourceVersion
返回:
此 processor 所支持的最新的源版本
另请参见:
SupportedSourceVersion, ProcessingEnvironment.getSourceVersion()

init

public void init(ProcessingEnvironment processingEnv)
用处理环境初始化 processor,方法是将 processingEnv 字段设置为 processingEnv 参数的值。如果在同一对象上多次调用此方法,则抛出 IllegalStateException

指定者:
接口 Processor 中的 init
参数:
processingEnv - 用来访问工具框架提供给 processor 的设施的环境
抛出:
IllegalStateException - 如果多次调用此方法。

process

public abstract boolean process(Set<? extends TypeElement> annotations,
                                RoundEnvironment roundEnv)
处理先前 round 产生的类型元素上的注释类型集,并返回这些注释是否由此 Processor 声明。如果返回 true,则这些注释已声明并且不要求后续 Processor 处理它们;如果返回 false,则这些注释未声明并且可能要求后续 Processor 处理它们。Processor 可能总是返回相同的 boolean 值,或者可能基于所选择的标准而返回不同的结果。

如果 Processor 支持 "*" 并且根元素没有注释,则输入集合将为空。Processor 必须妥善处理空注释集。

指定者:
接口 Processor 中的 process
参数:
annotations - 请求处理的注释类型
roundEnv - 有关当前和以前 round 的信息的环境
返回:
注释集是否由此 Processor 声明

getCompletions

public Iterable<? extends Completion> getCompletions(Element element,
                                                     AnnotationMirror annotation,
                                                     ExecutableElement member,
                                                     String userText)
返回一个空的 completion 迭代。

指定者:
接口 Processor 中的 getCompletions
参数:
element - 将被注释的元素
annotation - 将应用于元素的注释(可能是一部分)
member - 为其返回可能 completion 的注释成员
userText - 将补充完整的源代码文本
返回:
注释的建议 completion

isInitialized

protected boolean isInitialized()
如果此对象已被初始化,则返回 true,否则返回 false

返回:
如果此对象已被初始化,则返回 true,否则返回 false

JavaTM 2 Platform
Standard Ed. 6

提交错误或意见

版权所有 2008 Sun Microsystems, Inc. 保留所有权利。请遵守GNU General Public License, version 2 only