Module  java.compiler

Class AbstractProcessor

  • All Implemented Interfaces:
    Processor


    public abstract class AbstractProcessor
    extends Object
    implements Processor
    一个抽象的注释处理器,被设计为大多数具体注解处理器的一个方便的超类。 此类检查注释值来计算optionsannotation types ,并source version其亚型支持。

    吸气剂方法可以用issue warnings关于在处理器已经被使用之后可用的设施的值得注意的条件是initialized

    子类可以覆盖该类中任何方法的实现和规范,只要符合该方法的一般Processor合同即可。

    从以下版本开始:
    1.6
    • 字段详细信息

    • 构造方法详细信息

      • AbstractProcessor

        protected AbstractProcessor​()
        调用子类的构造方法。
    • 方法详细信息

      • getSupportedOptions

        public Set<String> getSupportedOptions​()
        如果使用SupportedOptions注释处理器类,则返回与注释具有相同字符串集的不可修改集合。 如果类没有这样注释,则返回一个空集合。
        Specified by:
        getSupportedOptions在接口 Processor
        结果
        该处理器识别的选项,如果没有,则为空集
        另请参见:
        SupportedOptions
      • 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 ,注释类型是无人认领的,并且可能要求后续处理器处理它们。 处理器可以总是返回相同的布尔值,或者可以根据其自己选择的标准来改变结果。

        如果处理器支持"*"并且根元素没有注释,输入集将为空。 A Processor必须优雅地处理一组空的注释。

        Specified by:
        process在接口 Processor
        参数
        annotations - 请求处理的注释类型
        roundEnv - 有关当前和前一轮的信息的环境
        结果
        该处理器是否声明该组注释类型
      • 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如果该对象已 initializedfalse否则。
        结果
        true如果此对象已初始化,否则为 false