- java.lang.Object
-
- javax.lang.model.util.AbstractElementVisitor6<R,P>
-
- javax.lang.model.util.ElementScanner6<R,P>
-
- 参数类型
-
R
- 这个访问者的方法的返回类型。 对不需要返回结果的访问者使用Void
。 -
P
- 此访问者方法的附加参数类型。 对不需要其他参数的访问者使用Void
。
- All Implemented Interfaces:
-
ElementVisitor<R,P>
- 已知直接子类:
-
ElementScanner7
@SupportedSourceVersion(RELEASE_6) public class ElementScanner6<R,P> extends AbstractElementVisitor6<R,P>
程序元素的扫描访问者,默认行为适用于RELEASE_6
源版本。 所述visitXyz
方法在这个类通过调用扫描其成分元素scan
他们enclosed elements , parameters ,等,如在单独的方法规范表示。 一个子类可以通过覆盖visitXyz
方法来控制访问的顺序元素。 请注意,扫描仪的客户端可能会获得所需的行为,而不是在感兴趣的根对象上调用v.scan(e, p)
而不是v.visit(e, p)
。当一个子类覆盖一个
visitXyz
方法时,新方法可以通过调用super.visitXyz
以默认方式扫描附带的元素。 以这种方式,具体的访问者可以控制关于附加处理的遍历组件元素的顺序; 例如,在覆盖方法开始时始终调用super.visitXyz
将产生预序遍历等。如果组件元素应以其他顺序遍历,而不是调用super.visitXyz
,则覆盖访问方法应该调用scan
中的元素期望的顺序。本课程中的方法可能会因其总体合同而被覆盖。 请注意,具有
@Override
的具体子类中的注释方法将有助于确保按预期方式覆盖方法。警告:
ElementVisitor
实现的ElementVisitor
接口在将来可能会添加到其中的方法,以适应未来版本的Java编程语言中添加的新的,当前未知的语言结构。 因此,名称以"visit"
开头的方法可能会在以后添加到此类中; 为了避免不兼容性,扩展此类的类不应声明任何名称以"visit"
开头的实例方法。当添加这种新的访问方法时,此类中的默认实现将是调用
visitUnknown
方法。 还将引入新的元素扫描器访问者类来对应于新的语言级别; 该访问者对于访问方法将具有不同的默认行为。 当新访客被介绍时,全部或部分访问者可能会被弃用。- 从以下版本开始:
- 1.6
- 另请参见:
-
ElementScanner7
,ElementScanner8
,ElementScanner9
-
-
Field Summary
Fields Modifier and Type Field 描述 protected R
DEFAULT_VALUE
指定的默认值。
-
构造方法摘要
构造方法 Modifier Constructor 描述 protected
ElementScanner6()
已过时。第6版已经过时了 更新到访问者较新的版本级别。protected
ElementScanner6(R defaultValue)
已过时。第6版已经过时了 更新到访问者较新的版本级别。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 R
scan(Iterable<? extends Element> iterable, P p)
迭代给定元素并调用每个元素scan(Element, P)
。R
scan(Element e)
方便方法相当于v.scan(e, null)
。R
scan(Element e, P p)
通过调用e.accept(this, 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
visitVariable(VariableElement e, P p)
访问可变元素。-
Methods inherited from class javax.lang.model.util.AbstractElementVisitor6
visit, visit, visitModule, visitUnknown
-
-
-
-
字段详细信息
-
DEFAULT_VALUE
protected final R DEFAULT_VALUE
指定的默认值。
-
-
构造方法详细信息
-
ElementScanner6
@Deprecated protected ElementScanner6()
已过时。 第6版已经过时了 更新到访问者较新的版本级别。具体子类的构造方法 使用null
作为默认值。
-
ElementScanner6
@Deprecated protected ElementScanner6(R defaultValue)
已过时。 第6版已经过时了 更新到访问者较新的版本级别。具体子类的构造方法 使用参数作为默认值。- 参数
-
defaultValue
- 默认值
-
-
方法详细信息
-
scan
public final R scan(Iterable<? extends Element> iterable, P p)
迭代给定元素并调用每个元素scan(Element, P)
。 返回最后一次调用的结果为scan
或DEFAULT_VALUE
为空的迭代。- 参数
-
iterable
- 要扫描的元素 -
p
- 附加参数 - 结果
-
扫描最后一个元素或
DEFAULT_VALUE
如果没有元素
-
scan
public R scan(Element e, P p)
通过调用e.accept(this, p)
处理元素; 此方法可能被子类覆盖。- 参数
-
e
- 要扫描的元素 -
p
- 扫描仪指定的参数 - 结果
-
结果访问
e
。
-
visitPackage
public R visitPackage(PackageElement e, P p)
访问包元素。 此实现扫描包含的元素。- 参数
-
e
- 要访问的元素 -
p
- 访客指定的参数 - 结果
- 扫描的结果
-
visitType
public R visitType(TypeElement e, P p)
访问类型元素。 此实现扫描包含的元素。- 参数
-
e
- 要访问的元素 -
p
- 访客指定的参数 - 结果
- 扫描的结果
-
visitVariable
public R visitVariable(VariableElement e, P p)
访问可变元素。 此实现扫描包含的元素,除非元素是RESOURCE_VARIABLE
在这种情况下visitUnknown
。- 参数
-
e
- 要访问的元素 -
p
- 访客指定的参数 - 结果
- 扫描的结果
-
visitExecutable
public R visitExecutable(ExecutableElement e, P p)
访问可执行元素。 此实现扫描参数。- 参数
-
e
- 要访问的元素 -
p
- 访客指定的参数 - 结果
- 扫描的结果
-
visitTypeParameter
public R visitTypeParameter(TypeParameterElement e, P p)
访问类型参数元素。 此实现扫描包含的元素。- 参数
-
e
- 要访问的元素 -
p
- 访客指定的参数 - 结果
- 扫描的结果
-
-