R
-这个访问者的方法的返回类型。利用游客不需要返回的结果
Void
。
P
-这个访问者的方法的附加参数的类型。利用游客不需要一个额外的参数
Void
。
public interface ElementVisitor<R,P>
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.*
包随后的修订。
AbstractElementVisitor6
,
AbstractElementVisitor7
Modifier and Type | Method and Description |
---|---|
R |
visit(Element e)
一个方便的方法相当于
v.visit(e, null) 。
|
R |
visit(Element e, P p)
访问元素。
|
R |
visitExecutable(ExecutableElement e, P p)
访问可执行元素。
|
R |
visitPackage(PackageElement e, P p)
访问包元素。
|
R |
visitType(TypeElement e, P p)
访问类型元素。
|
R |
visitTypeParameter(TypeParameterElement e, P p)
访问类型参数元素。
|
R |
visitUnknown(Element e, P p)
拜访一个未知的元素。
|
R |
visitVariable(VariableElement e, P p)
访问变量元素。
|
R visitPackage(PackageElement e, P p)
e
-元素访问
p
-客人指定的参数
R visitType(TypeElement e, P p)
e
-元素访问
p
-客人指定的参数
R visitVariable(VariableElement e, P p)
e
-元素访问
p
-客人指定的参数
R visitExecutable(ExecutableElement e, P p)
e
-元素访问
p
-客人指定的参数
R visitTypeParameter(TypeParameterElement e, P p)
e
-元素访问
p
-客人指定的参数
R visitUnknown(Element e, P p)
Element
层次发生。
e
-元素访问
p
-客人指定的参数
UnknownElementException
-一个访问者实现可以抛出该异常
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.