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 实现可以有选择地抛出此异常