R
- 此 visitor 的方法的返回类型
public interface AnnotationValueVisitor<R,P>
注释类型元素值的 visitor,使用 visitor 设计模式的变体。标准 visitor 基于类型层次结构成员的具体类型进行调度,与它不同,此 visitor 基于存储数据的类型进行调度;对于存储,没有不同的子类,例如 boolean
值和 int
值。在编译时某个值的类型未知时,实现此接口的类被用来对该值进行操作。在将 visitor 传递给某个值的 accept
方法时,适用于该值的 visitXYZ 方法将被调用。
如果附加参数 p
为 null
,则实现此接口的类有可能抛出 NullPointerException
;有关详细信息,请参阅实现类的文档。
警告: 以后可能会向此接口添加一些方法,以适应添加到 Java™ 编程语言未来版本中的新(当前未知的)语言结构。所以,直接实现此接口的 visitor 类可能与平台的未来版本不兼容。为了避免这种不兼容性,建议 visitor 实现扩展实现此接口的抽象 visitor 类。不过,API 通常应该使用此 visitor 接口作为参数类型、返回类型等,而不是将它作为抽象类之一。
方法摘要 | |
---|---|
R |
visit(AnnotationValue av) 等效于 v.visit(av, null) 的便捷方法。 |
R |
visit(AnnotationValue av, P p) 访问注释值。 |
R |
visitAnnotation(AnnotationMirror a, P p) 访问注释中的 annotation 值。 |
R |
visitArray(List<? extends AnnotationValue> vals, P p) 访问注释中的 array 值。 |
R |
visitBoolean(boolean b, P p) 访问注释中的 boolean 值。 |
R |
visitByte(byte b, P p) 访问注释中的 byte 值。 |
R |
visitChar(char c, P p) 访问注释中的 char 值。 |
R |
visitDouble(double d, P p) 访问注释中的 double 值。 |
R |
visitEnumConstant(VariableElement c, P p) 访问注释中的 enum 值。 |
R |
visitFloat(float f, P p) 访问注释中的 float 值。 |
R |
visitInt(int i, P p) 访问注释中的 int 值。 |
R |
visitLong(long i, P p) 访问注释中的 long 值。 |
R |
visitShort(short s, P p) 访问注释中的 short 值。 |
R |
visitString(String s, P p) 访问注释中的 string 值。 |
R |
visitType(TypeMirror t, P p) 访问注释中的 type 值。 |
R |
visitUnknown(AnnotationValue av, P p) 访问未知种类的注释值。 |
方法详细信息 |
---|
R visit(AnnotationValue av, P p)
av
- 要访问的值
p
- 特定于 visitor 的参数
R visit(AnnotationValue av)
v.visit(av, null)
的便捷方法。
av
- 要访问的值
R visitBoolean(boolean b, P p)
boolean
值。
b
- 要访问的值
p
- 特定于 visitor 的参数
R visitByte(byte b, P p)
byte
值。
b
- 要访问的值
p
- 特定于 visitor 的参数
R visitChar(char c, P p)
char
值。
c
- 要访问的值
p
- 特定于 visitor 的参数
R visitDouble(double d, P p)
double
值。
d
- 要访问的值
p
- 特定于 visitor 的参数
R visitFloat(float f, P p)
float
值。
f
- 要访问的值
p
- 特定于 visitor 的参数
R visitInt(int i, P p)
int
值。
i
- 要访问的值
p
- 特定于 visitor 的参数
R visitLong(long i, P p)
long
值。
i
- 要访问的值
p
- 特定于 visitor 的参数
R visitShort(short s, P p)
short
值。
s
- 要访问的值
p
- 特定于 visitor 的参数
R visitString(String s, P p)
s
- 要访问的值
p
- 特定于 visitor 的参数
R visitType(TypeMirror t, P p)
t
- 要访问的值
p
- 特定于 visitor 的参数
R visitEnumConstant(VariableElement c, P p)
enum
值。
c
- 要访问的值
p
- 特定于 visitor 的参数
R visitAnnotation(AnnotationMirror a, P p)
a
- 要访问的值
p
- 特定于 visitor 的参数
R visitArray(List<? extends AnnotationValue> vals, P p)
vals
- 要访问的值
p
- 特定于 visitor 的参数
R visitUnknown(AnnotationValue av, P p)
av
- 要访问的未知值
p
- 特定于 visitor 的参数
UnknownAnnotationValueException
- visitor 实现可以有选择地抛出此异常