public interface RoundEnvironment
注解处理工具框架将为注解处理器提供实现此接口的对象,以便处理器可以查询有关注解处理的一轮信息。
- 自版本:
- 1.6
-
Method Summary
Modifier and TypeMethodDescriptionboolean
如果在上一轮处理中引发错误,则返回true
;否则返回false
。getElementsAnnotatedWith
(Class<? extends Annotation> a) 返回使用给定注解接口注释的元素。返回使用给定注解接口注释的元素。getElementsAnnotatedWithAny
(Set<Class<? extends Annotation>> annotations) 返回使用给定一个或多个注解接口注释的元素。getElementsAnnotatedWithAny
(TypeElement... annotations) 返回使用给定一个或多个注解接口注释的元素。返回由上一轮生成的注解处理的根元素。boolean
如果此轮生成的类型不会受到后续注解处理轮次的影响,则返回true
;否则返回false
。
-
Method Details
-
processingOver
boolean processingOver()如果此轮生成的类型不会受到后续注解处理轮次的影响,则返回true
;否则返回false
。- 返回:
-
如果此轮生成的类型不会受到后续注解处理轮次的影响,则返回
true
;否则返回false
-
errorRaised
boolean errorRaised()如果在上一轮处理中引发错误,则返回true
;否则返回false
。- 返回:
-
如果在上一轮处理中引发错误,则返回
true
;否则返回false
-
getRootElements
返回由上一轮生成的注解处理的根元素。 -
getElementsAnnotatedWith
返回使用给定注解接口注释的元素。注解可以直接出现或被继承。仅返回在此轮注解处理中包含的包元素、模块元素和类型元素,或者在其中声明的成员、构造函数、参数、类型参数或记录组件的声明。包含的类型元素是根类型及其中嵌套的任何成员类型。包中的元素不会被认为是包含的,仅因为为该包创建了一个package-info
文件。同样,模块的元素也不会被认为是包含的,仅因为为该模块创建了一个module-info
文件。- 参数:
-
a
- 请求的注解接口 - 返回:
- 使用给定注解接口注释的元素,如果没有则返回空集合
- 抛出:
-
IllegalArgumentException
- 如果参数不表示注解接口
-
getElementsAnnotatedWithAny
返回使用给定一个或多个注解接口注释的元素。- API 注释:
- 当同时查找注解接口及其包含的注解接口时,此方法可能会很有用。
- 实现要求:
-
此方法的默认实现创建一个空结果集,遍历参数数组中的注解,对每个注解调用
getElementsAnnotatedWith(TypeElement)
,并将这些结果添加到结果集中。最后,将结果集的内容作为不可修改的集合返回。 - 参数:
-
annotations
- 请求的注解接口 - 返回:
- 使用给定一个或多个注解接口注释的元素,如果没有则返回空集合
- 抛出:
-
IllegalArgumentException
- 如果参数集合中的任何元素不表示注解接口 - 参见Java语言规范:
-
9.6.3 可重复注解接口
- 自版本:
- 9
-
getElementsAnnotatedWith
返回使用给定注解接口注释的元素。注解可以直接出现或被继承。仅返回在此轮注解处理中包含的包元素、模块元素和类型元素,或者在其中声明的成员、构造函数、参数、类型参数或记录组件的声明。包含的类型元素是根类型及其中嵌套的任何成员类型。包中的元素不会被认为是包含的,仅因为为该包创建了一个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
- 参见:
-