接口 | 描述 |
---|---|
AnnotationMirror |
表示注释。
|
AnnotationValue |
表示注释类型元素的值。
|
AnnotationValueVisitor<R,P> |
注释类型元素的值的访问者,使用访问者设计模式的变体。
|
Element |
表示程序元素,如程序包,类或方法。
|
ElementVisitor<R,P> |
游客的程式元素,以访客设计风格为格局。
|
ExecutableElement |
表示类或接口的方法,构造函数或初始化器(静态或实例),包括注释类型元素。
|
Name |
一个不可变的人物序列。
|
PackageElement |
表示包程序元素。
|
Parameterizable |
用于具有类型参数的元素的mixin接口。
|
QualifiedNameable |
用于具有限定名称的元素的mixin接口。
|
TypeElement |
表示一个类或接口程序元素。
|
TypeParameterElement |
表示通用类,接口,方法或构造函数元素的正式类型参数。
|
VariableElement |
表示一个字段,
枚举 常量,方法或构造函数参数,局部变量,资源变量或异常参数。
|
Enum | 描述 |
---|---|
ElementKind |
一个元素的
kind 。
|
Modifier |
表示程序元素(如类,方法或字段)上的修饰符。
|
NestingKind |
一种类型元素的
嵌套类型。
|
异常 | 描述 |
---|---|
UnknownAnnotationValueException |
表示遇到未知类型的注释值。
|
UnknownElementException |
表示遇到未知类型的元素。
|
for
循环或try
- finally
块的表示。
但是,这些接口可以建立一些仅显示在方法体内的结构,例如局部变量和匿名类。
当在注释处理的上下文中使用时,必须返回正在表示的元素的精确模型。 由于这是一个语言模型,源代码提供了有问题的构造的基准(引用)表示,而不是类似于一个类文件的可执行输出中的表示。 可执行输出可以作为创建建模元素的基础。 然而,将源代码转换为可执行输出的过程可能不允许恢复源代码表示的某些方面。 例如,source retention的 注释无法从类文件中恢复,类文件可能无法提供源位置信息。 参数名称可能无法从类文件中恢复。 某些元素上的modifiers可能会有所不同,包括:
strictfp
在类或接口上 final
上的一个参数 protected
, private
和static
的类和接口 在注解处理过程中,需要对不完整或错误的程序进行操作; 然而,关于结果模型的性质的担保较少。 如果源代码在语法上没有格式化,或者有一些其他不可恢复的错误,不能通过生成新的类型来删除,则可能提供或不提供模型作为实现质量问题。 如果一个程序在语法上是有效的,但是以某种其他方式是错误的,那么任何返回的模型必须不能少于程序中的所有方法体被"throw new RuntimeException();"
替换的"throw new RuntimeException();"
。 如果一个程序是指缺少类型XYZ,则返回模型必须包含不超过若类型XYZ的声明被认为是较少的信息"class XYZ {}"
, "interface XYZ {}"
, "enum XYZ {}"
,或"@interface XYZ {}"
。 如果程序引用了缺少的类型XYZ<K1, ... ,Kn>
,则返回的模型必须包含的信息少于如果XYZ的声明被假定为"class XYZ<T1, ... ,Tn> {}"
或"interface XYZ<T1, ... ,Tn> {}"
除非在特定实现中另有规定,否则应该预期此程序包中方法返回的集合将被调用者不可修改,并且对并发访问是不安全的。
除非另有说明,在此包中的方法将抛出一个NullPointerException
如果给一个null
说法。