R
- 此 visitor 的方法的返回类型。对于不需要返回结果的 visitor,使用
Void
。
public interface ElementVisitor<R,P>
程序元素的 visitor,使用 visitor 设计模式的样式。在编译时某个元素的种类未知时,实现此接口的类被用来对该元素进行操作。在将 visitor 传递给某个元素的 accept
方法时,调用适用于该元素的 visitXYZ 方法。
如果附加参数 p
为 null
,则实现此接口的类有可能抛出 NullPointerException
;有关详细信息,请参阅实现类的文档。
警告: 以后可能会向此接口添加一些方法,以适应添加到 Java™ 编程语言未来版本中的新(当前未知的)语言结构。所以,直接实现此接口的 visitor 类可能与平台的未来版本不兼容。为了避免这种不兼容性,建议 visitor 实现扩展实现此接口的抽象 visitor 类。不过,API 通常应该使用此 visitor 接口作为参数类型、返回类型等,而不是将它作为抽象类之一。
AbstractElementVisitor6
方法摘要 | |
---|---|
R |
visit(Element e) 等效于 v.visit(e, null) 的便捷方法。 |
R |
visit(Element e, P p) 访问一个元素。 |
R |
visitExecutable(ExecutableElement e, P p) 访问 executable 元素。 |
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 visit(Element e, P p)
e
- 要访问的元素
p
- 特定于 visitor 的参数
R visit(Element e)
v.visit(e, null)
的便捷方法。
e
- 要访问的元素
R visitPackage(PackageElement e, P p)
e
- 要访问的元素
p
- 特定于 visitor 的参数
R visitType(TypeElement e, P p)
e
- 要访问的元素
p
- 特定于 visitor 的参数
R visitVariable(VariableElement e, P p)
e
- 要访问的元素
p
- 特定于 visitor 的参数
R visitExecutable(ExecutableElement e, P p)
e
- 要访问的元素
p
- 特定于 visitor 的参数
R visitTypeParameter(TypeParameterElement e, P p)
e
- 要访问的元素
p
- 特定于 visitor 的参数
R visitUnknown(Element e, P p)
Element
层次结构中添加了新种类的元素,则会发生这种情况。
e
- 要访问的元素
p
- 特定于 visitor 的参数
UnknownElementException
- visitor 实现可以有选择地抛出此异常