JavaTM Platform
Standard Ed. 6

javax.lang.model.type
接口 TypeVisitor<R,P>

类型参数:
R - 此 visitor 的方法的返回类型。对于不需要返回结果的 visitor,使用 Void
所有已知实现类:
AbstractTypeVisitor6, SimpleTypeVisitor6, TypeKindVisitor6

public interface TypeVisitor<R,P>

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

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

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

从以下版本开始:
1.6

方法摘要
 R visit(TypeMirror t)
          等效于 v.visit(t, null) 的便捷方法。
 R visit(TypeMirror t, P p)
          访问一个类型。
 R visitArray(ArrayType t, P p)
          访问数组类型。
 R visitDeclared(DeclaredType t, P p)
          访问已声明的类型。
 R visitError(ErrorType t, P p)
          访问错误类型。
 R visitExecutable(ExecutableType t, P p)
          访问 executable 类型。
 R visitNoType(NoType t, P p)
          访问 NoType 实例。
 R visitNull(NullType t, P p)
          访问 null 类型。
 R visitPrimitive(PrimitiveType t, P p)
          访问基本类型。
 R visitTypeVariable(TypeVariable t, P p)
          访问类型变量。
 R visitUnknown(TypeMirror t, P p)
          访问未知种类的类型。
 R visitWildcard(WildcardType t, P p)
          访问通配符类型。
 

方法详细信息

visit

R visit(TypeMirror t,
        P p)
访问一个类型。

参数:
t - 要访问的类型
p - 特定于 visitor 的参数
返回:
特定于 visitor 的结果

visit

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

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

visitPrimitive

R visitPrimitive(PrimitiveType t,
                 P p)
访问基本类型。

参数:
t - 要访问的类型
p - 特定于 visitor 的参数
返回:
特定于 visitor 的结果

visitNull

R visitNull(NullType t,
            P p)
访问 null 类型。

参数:
t - 要访问的类型
p - 特定于 visitor 的参数
返回:
特定于 visitor 的结果

visitArray

R visitArray(ArrayType t,
             P p)
访问数组类型。

参数:
t - 要访问的类型
p - 特定于 visitor 的参数
返回:
特定于 visitor 的结果

visitDeclared

R visitDeclared(DeclaredType t,
                P p)
访问已声明的类型。

参数:
t - 要访问的类型
p - 特定于 visitor 的参数
返回:
特定于 visitor 的结果

visitError

R visitError(ErrorType t,
             P p)
访问错误类型。

参数:
t - 要访问的类型
p - 特定于 visitor 的参数
返回:
特定于 visitor 的结果

visitTypeVariable

R visitTypeVariable(TypeVariable t,
                    P p)
访问类型变量。

参数:
t - 要访问的类型
p - 特定于 visitor 的参数
返回:
特定于 visitor 的结果

visitWildcard

R visitWildcard(WildcardType t,
                P p)
访问通配符类型。

参数:
t - 要访问的类型
p - 特定于 visitor 的参数
返回:
特定于 visitor 的结果

visitExecutable

R visitExecutable(ExecutableType t,
                  P p)
访问 executable 类型。

参数:
t - 要访问的类型
p - 特定于 visitor 的参数
返回:
特定于 visitor 的结果

visitNoType

R visitNoType(NoType t,
              P p)
访问 NoType 实例。

参数:
t - 要访问的类型
p - 特定于 visitor 的参数
返回:
特定于 visitor 的结果

visitUnknown

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

参数:
t - 要访问的类型
p - 特定于 visitor 的参数
返回:
特定于 visitor 的结果
抛出:
UnknownTypeException - visitor 实现可以有选择地抛出此异常

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策