javax.lang.model.element

接口
异常
类型参数:
R - 此 visitor 的方法的返回类型。对于不需要返回结果的 visitor,使用 Void
所有已知实现类:
AbstractElementVisitor6, ElementKindVisitor6, ElementScanner6, SimpleElementVisitor6

public interface ElementVisitor<R,P>

程序元素的 visitor,使用 visitor 设计模式的样式。在编译时某个元素的种类未知时,实现此接口的类被用来对该元素进行操作。在将 visitor 传递给某个元素的 accept 方法时,调用适用于该元素的 visitXYZ 方法。

如果附加参数 pnull,则实现此接口的类有可能抛出 NullPointerException;有关详细信息,请参阅实现类的文档。

警告: 以后可能会向此接口添加一些方法,以适应添加到 Java™ 编程语言未来版本中的新(当前未知的)语言结构。所以,直接实现此接口的 visitor 类可能与平台的未来版本不兼容。为了避免这种不兼容性,建议 visitor 实现扩展实现此接口的抽象 visitor 类。不过,API 通常应该使用此 visitor 接口作为参数类型、返回类型等,而不是将它作为抽象类之一。

从以下版本开始:
1.6
另请参见:
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)
          访问变量元素。
 

方法详细信息

visit

R visit(Element e,
        P p)
访问一个元素。

参数:
e - 要访问的元素
p - 特定于 visitor 的参数
返回:
特定于 visitor 的结果

visit

R visit(Element e)
等效于 v.visit(e, null) 的便捷方法。

参数:
e - 要访问的元素
返回:
特定于 visitor 的结果

visitPackage

R visitPackage(PackageElement e,
               P p)
访问包元素。

参数:
e - 要访问的元素
p - 特定于 visitor 的参数
返回:
特定于 visitor 的结果

visitType

R visitType(TypeElement e,
            P p)
访问类型元素。

参数:
e - 要访问的元素
p - 特定于 visitor 的参数
返回:
特定于 visitor 的结果

visitVariable

R visitVariable(VariableElement e,
                P p)
访问变量元素。

参数:
e - 要访问的元素
p - 特定于 visitor 的参数
返回:
特定于 visitor 的结果

visitExecutable

R visitExecutable(ExecutableElement e,
                  P p)
访问 executable 元素。

参数:
e - 要访问的元素
p - 特定于 visitor 的参数
返回:
特定于 visitor 的结果

visitTypeParameter

R visitTypeParameter(TypeParameterElement e,
                     P p)
访问类型参数元素。

参数:
e - 要访问的元素
p - 特定于 visitor 的参数
返回:
特定于 visitor 的结果

visitUnknown

R visitUnknown(Element e,
               P p)
访问未知种类的元素。如果语言有所发展并且向 Element 层次结构中添加了新种类的元素,则会发生这种情况。

参数:
e - 要访问的元素
p - 特定于 visitor 的参数
返回:
特定于 visitor 的结果
抛出:
UnknownElementException - visitor 实现可以有选择地抛出此异常