- java.lang.Object
-
- javax.lang.model.util.AbstractElementVisitor6<R,P>
-
- javax.lang.model.util.ElementScanner6<R,P>
-
- 参数类型
-
R
- 此访问者方法的返回类型。 对于不需要返回结果的访问者,请使用Void
。 -
P
- 此访问者方法的附加参数的类型。 对于不需要其他参数的访问者,请使用Void
。
- 实现的所有接口
-
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"
开头的方法添加到此类中; 为避免不兼容,扩展此类的类不应声明名称以"visit"
开头的任何实例方法。添加这样的新访问方法时,此类中的默认实现将是调用
visitUnknown
方法。 还将引入一个新的元素扫描器访问者类,以对应新的语言级别; 此访问者将针对相关的访问方法使用不同的默认行为。 引入新访问者时,可能会弃用此访问者的全部或部分内容。- 从以下版本开始:
- 1.6
- 另请参见:
-
ElementScanner7
,ElementScanner8
,ElementScanner9
-
-
字段汇总
字段 变量和类型 字段 描述 protected R
DEFAULT_VALUE
指定的默认值。
-
构造方法摘要
构造方法 变量 构造器 描述 protected
ElementScanner6()
已过时。第6版已经过时; 更新为访问者以获取更新的版本级别。protected
ElementScanner6(R defaultValue)
已过时。第6版已经过时; 更新为访问者以获取更新的版本级别。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 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)
访问变量元素。-
声明方法的类 javax.lang.model.util.AbstractElementVisitor6
visit, visit, visitModule, visitUnknown
-
-
-
-
字段详细信息
-
DEFAULT_VALUE
protected final R DEFAULT_VALUE
指定的默认值。
-
-
构造方法详细信息
-
ElementScanner6
@Deprecated(since="9") protected ElementScanner6()
Deprecated.Release 6 is obsolete; update to a visitor for a newer release level.具体子类的构造函数; 使用null
作为默认值。
-
ElementScanner6
@Deprecated(since="9") protected ElementScanner6(R defaultValue)
Deprecated.Release 6 is obsolete; update to a visitor for a newer release level.具体子类的构造函数; 使用参数作为默认值。- 参数
-
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
- 访问者指定的参数 - 结果
- 扫描的结果
-
-