R
- 这个访问者的方法的返回类型
P
- 访问者方法的附加参数类型。
public interface AnnotationValueVisitor<R,P>
boolean
值与int
值。
实现此接口的类用于在编译时该值的类型未知时对值进行操作。
当访问者被传递给值accept
方法时,调用适用于该值的visitXYZ方法。
实现此界面的类可以或可以不抛出NullPointerException
如果附加参数p
是null
; 有关详细信息,请参阅实施类的文档。
警告:可能的方法将添加到此界面以适应未来版本的Java编程语言中添加的新的,当前未知的语言结构。 因此,直接实现此接口的访问者类可能与未来的平台版本不兼容。 为了避免这种源不兼容,我们鼓励访问者实现扩展实现此接口的适当抽象访问类。 然而,API通常应该将此访问接口用作参数,返回类型等的类型,而不是抽象类之一。
请注意,如果添加为默认方法,则可以以源兼容的方式添加适应新语言结构的方法 。 但是,默认方法仅适用于Java SE 8和更高版本,并且Java SE 8中捆绑的javax.lang.model.*
软件包也需要在Java SE 7上运行。因此,在扩展javax.lang.model.*
以涵盖Java SE 8语言时,不能使用默认方法特征。 但是,默认方法可能会用于javax.lang.model.*
程序包的javax.lang.model.*
,只能在Java SE 8和更高版本的平台上运行。
Modifier and Type | Method and Description |
---|---|
R |
visit(AnnotationValue av)
方便方法相当于
v.visit(av, null) 。
|
R |
visit(AnnotationValue av, P p)
访问注释值。
|
R |
visitAnnotation(AnnotationMirror a, P p)
访问注释中的注释值。
|
R |
visitArray(List<? extends AnnotationValue> vals, P p)
访问注释中的数组值。
|
R |
visitBoolean(boolean b, P p)
访问
boolean 中的boolean值。
|
R |
visitByte(byte b, P p)
访问
byte 中的byte值。
|
R |
visitChar(char c, P p)
访问
char 中的char值。
|
R |
visitDouble(double d, P p)
访问
double 中的double值。
|
R |
visitEnumConstant(VariableElement c, P p)
访问
枚举 中的enum值。
|
R |
visitFloat(float f, P p)
访问
float 中的float值。
|
R |
visitInt(int i, P p)
访问
int 中的int值。
|
R |
visitLong(long i, P p)
访问
long 中的long值。
|
R |
visitShort(short s, P p)
访问
short 中的short值。
|
R |
visitString(String s, P p)
访问注释中的字符串值。
|
R |
visitType(TypeMirror t, P p)
访问注释中的类型值。
|
R |
visitUnknown(AnnotationValue av, P p)
访问未知类型的注释值。
|
R visit(AnnotationValue av, P p)
av
- 要访问的值
p
- 访客指定的参数
R visit(AnnotationValue av)
v.visit(av, null)
。
av
- 要访问的值
R visitBoolean(boolean b, P p)
boolean
中的boolean值。
b
- 正在访问的值
p
- 访客指定的参数
R visitType(TypeMirror t, P p)
t
- 正在访问的值
p
- 访客指定的参数
R visitEnumConstant(VariableElement c, P p)
枚举
中的enum值。
c
- 正在访问的值
p
- 访客指定的参数
R visitAnnotation(AnnotationMirror a, P p)
a
- 被访问的值
p
- 访客指定的参数
R visitArray(List<? extends AnnotationValue> vals, P p)
vals
- 正在访问的值
p
- 访客指定的参数
R visitUnknown(AnnotationValue av, P p)
av
- 被访问的未知值
p
- 访客指定的参数
UnknownAnnotationValueException
- a visitor implementation may optionally throw this exception