R
-这个访问者的方法的返回类型
P
-这个访问者的方法的附加参数的类型。
public interface AnnotationValueVisitor<R,P>
boolean
值与
int
值。实现此接口的类用于在编译时未知的类型的值上操作。当一个访客通过一个价值的
accept
方法,适用于该值的
visitXYZ方法被调用。
实现了这个接口的类可以或不可以如果附加参数p
是null
扔NullPointerException
;看到执行类的细节文档。
警告:这种方法将被添加到这个接口来适应新的,目前未知的可能,语言结构增加了java编程语言的未来版本™。因此,直接实现此接口的访问者类可能是与平台的未来版本不兼容的源。为了避免这种源代码不兼容,鼓励访问者实现,而不是扩展实现此接口的适当的抽象的访问类来实现。然而,一个应用接口通常应该使用此访问者接口作为参数的类型、返回类型等,而不是抽象类的一个。
请注意,以适应新的语言结构的方法可以添加在源兼容的方式,如果他们被添加为默认的方法。然而,默认的方法是只适用于java SE 8和更高版本和javax.lang.model.*
套餐捆绑在java SE 8需要也可运行在java SE 7。因此,默认的方法不能使用时,javax.lang.model.*
延伸覆盖java SE 8语言特点。然而,默认的方法中可以使用,只需运行在java SE 8和更高版本的平台javax.lang.model.*
包随后的修订。
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 价值诠释。
|
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)
在参观一
枚举 价值诠释。
|
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)
在注释中访问字符串值。
|
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 visitType(TypeMirror t, P p)
t
价值-被访问
p
-客人指定的参数
R visitEnumConstant(VariableElement c, P p)
枚举
价值诠释。
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
-一个访问者实现可以抛出该异常
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.