R
- 这个访问者的方法的返回类型。
对不需要返回结果的访问者使用Void
。
P
- 访问者方法的附加参数类型。
对不需要其他Void
的访问者使用Void。
public abstract class AbstractTypeVisitor6<R,P> extends Object implements TypeVisitor<R,P>
RELEASE_6
源版本的默认行为类型的骨架访问者。
警告: TypeVisitor
实现的TypeVisitor接口可能会在以后添加方法,以适应未来版本的Java编程语言中添加的新的,当前未知的语言结构。 因此,以"visit"
开头的"visit"
可以在将来添加到这个类中; 为了避免不兼容性,扩展此类的类不应声明任何以"visit"
实例方法。
当添加这种新的访问方法时,此类中的默认实现将调用visitUnknown
方法。 还将引入一个新的抽象类访问者类来对应于新的语言级别; 该访问者对于访问方法将具有不同的默认行为。 当新访客被介绍时,全部或部分访问者可能会被弃用。
请注意,在访问者类中添加新的访问方法的默认实现将发生,而不是直接在访问者界面中添加默认方法 ,因为Java SE 8语言功能不能用于此版本的API,因为此版本需要可以在Java SE 7实现中运行。 仅在Java SE 8及更高版本上运行的API的未来版本可能会在这种情况下利用默认方法。
AbstractTypeVisitor7
, AbstractTypeVisitor8
Modifier | Constructor and Description |
---|---|
protected |
AbstractTypeVisitor6()
具体子类调用的构造方法。
|
Modifier and Type | Method and Description |
---|---|
R |
visit(TypeMirror t)
访问任何类型的镜像,就像将其自身传递给该类型镜像的
accept 方法一样,并传递
null 以获取附加参数。
|
R |
visit(TypeMirror t, P p)
访问任何类型的镜像,就像将自身传递给该镜像的
accept 方法一样。
|
R |
visitIntersection(IntersectionType t, P p)
通过致电
visitUnknown 访问
IntersectionType 元素。
|
R |
visitUnion(UnionType t, P p)
通过致电
visitUnknown 访问
UnionType 元素。
|
R |
visitUnknown(TypeMirror t, P p)
访问未知类型的类型。
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
visitArray, visitDeclared, visitError, visitExecutable, visitNoType, visitNull, visitPrimitive, visitTypeVariable, visitWildcard
public final R visit(TypeMirror t, P p)
accept
方法一样。
调用v.visit(t, p)
相当于t.accept(v, p)
。
visit
在接口
TypeVisitor<R,P>
t
- 要访问的类型
p
- 访客指定的参数
public final R visit(TypeMirror t)
accept
方法,并传递null
参数的null。
调用v.visit(t)
相当于t.accept(v, null)
。
visit
在接口
TypeVisitor<R,P>
t
- 要访问的类型
public R visitUnion(UnionType t, P p)
visitUnknown
访问
UnionType
元素。
visitUnion
在接口
TypeVisitor<R,P>
t
- 要访问的类型
p
- 访客指定的参数
visitUnknown
public R visitIntersection(IntersectionType t, P p)
visitUnknown
IntersectionType
元素。
visitIntersection
中的
TypeVisitor<R,P>
t
- 要访问的类型
p
- 访客指定的参数
visitUnknown
public R visitUnknown(TypeMirror t, P p)
TypeMirror
层次结构中,则可能会发生这种情况。
这种方法的默认实现AbstractTypeVisitor6
总会抛出UnknownTypeException
。 这个行为不是一个子类所必需的。
visitUnknown
在接口
TypeVisitor<R,P>
t
- 要访问的类型
p
- 访客指定的参数
UnknownTypeException
- 访问者实现可以可选地抛出该异常