Module java.compiler

Interface RoundEnvironment


public interface RoundEnvironment
注解处理工具框架将为注解处理器提供实现此接口的对象,以便处理器可以查询有关注解处理的一轮信息。
自版本:
1.6
  • Method Details

    • processingOver

      boolean processingOver()
      如果此轮生成的类型不会受到后续注解处理轮次的影响,则返回true;否则返回false
      返回:
      如果此轮生成的类型不会受到后续注解处理轮次的影响,则返回true;否则返回false
    • errorRaised

      boolean errorRaised()
      如果在上一轮处理中引发错误,则返回true;否则返回false
      返回:
      如果在上一轮处理中引发错误,则返回true;否则返回false
    • getRootElements

      Set<? extends Element> getRootElements()
      返回由上一轮生成的注解处理的根元素
      API 注释:
      根元素对应于编译单元中的顶层声明(JLS第7.3节)。根元素通常是类型,但也可以是模块
      返回:
      由上一轮生成的注解处理的根元素,如果没有则返回空集合
    • getElementsAnnotatedWith

      Set<? extends Element> getElementsAnnotatedWith(TypeElement a)
      返回使用给定注解接口注释的元素。注解可以直接出现或被继承。仅返回在此轮注解处理中包含的包元素、模块元素和类型元素,或者在其中声明的成员、构造函数、参数、类型参数或记录组件的声明。包含的类型元素是根类型及其中嵌套的任何成员类型。包中的元素不会被认为是包含的,仅因为为该包创建了一个package-info文件。同样,模块的元素也不会被认为是包含的,仅因为为该模块创建了一个module-info文件。
      参数:
      a - 请求的注解接口
      返回:
      使用给定注解接口注释的元素,如果没有则返回空集合
      抛出:
      IllegalArgumentException - 如果参数不表示注解接口
    • getElementsAnnotatedWithAny

      default Set<? extends Element> getElementsAnnotatedWithAny(TypeElement... annotations)
      返回使用给定一个或多个注解接口注释的元素。
      API 注释:
      当同时查找注解接口及其包含的注解接口时,此方法可能会很有用。
      实现要求:
      此方法的默认实现创建一个空结果集,遍历参数数组中的注解,对每个注解调用getElementsAnnotatedWith(TypeElement),并将这些结果添加到结果集中。最后,将结果集的内容作为不可修改的集合返回。
      参数:
      annotations - 请求的注解接口
      返回:
      使用给定一个或多个注解接口注释的元素,如果没有则返回空集合
      抛出:
      IllegalArgumentException - 如果参数集合中的任何元素不表示注解接口
      参见Java语言规范:
      9.6.3 可重复注解接口
      自版本:
      9
    • getElementsAnnotatedWith

      Set<? extends Element> getElementsAnnotatedWith(Class<? extends Annotation> a)
      返回使用给定注解接口注释的元素。注解可以直接出现或被继承。仅返回在此轮注解处理中包含的包元素、模块元素和类型元素,或者在其中声明的成员、构造函数、参数、类型参数或记录组件的声明。包含的类型元素是根类型及其中嵌套的任何成员类型。包中的元素不会被认为是包含的,仅因为为该包创建了一个package-info文件。同样,模块的元素也不会被认为是包含的,仅因为为该模块创建了一个module-info文件。

      注意:此方法的实现通常会执行内部转换,将注解接口的运行时反射表示形式作为Class对象转换为用于注解处理的不同表示形式。运行时上下文中存在的注解接口集合可能与特定环境配置中注解处理上下文中存在的注解接口集合不同。如果运行时注解接口在注解处理上下文中不存在,则不会将该情况视为错误,并且不会找到该注解接口的任何元素。

      参数:
      a - 请求的注解接口
      返回:
      使用给定注解接口注释的元素,如果没有则返回空集合
      抛出:
      IllegalArgumentException - 如果参数不表示注解接口
      参见:
    • getElementsAnnotatedWithAny

      default Set<? extends Element> getElementsAnnotatedWithAny(Set<Class<? extends Annotation>> annotations)
      返回使用给定一个或多个注解接口注释的元素。

      注意:此方法的实现通常会执行内部转换,将注解接口的运行时反射表示形式作为Class对象转换为用于注解处理的不同表示形式。运行时上下文中存在的注解接口集合可能与特定环境配置中注解处理上下文中存在的注解接口集合不同。如果运行时注解接口在注解处理上下文中不存在,则不会将该情况视为错误,并且不会找到该注解接口的任何元素。

      API 注释:
      当同时查找注解接口及其包含的注解接口时,此方法可能会很有用。
      实现要求:
      此方法的默认实现创建一个空结果集,遍历参数集合中的注解,对每个注解调用getElementsAnnotatedWith(Class),并将这些结果添加到结果集中。最后,将结果集的内容作为不可修改的集合返回。
      参数:
      annotations - 请求的注解接口
      返回:
      使用给定一个或多个注解接口注释的元素,如果没有则返回空集合
      抛出:
      IllegalArgumentException - 如果参数集合中的任何元素不表示注解接口
      参见Java语言规范:
      9.6.3 可重复注解接口
      自版本:
      9
      参见: