ElementScanner6<R,P>

javax.lang.model.util

类 ElementScanner6<R,P>

java.lang.Object javax.lang.model.util.AbstractElementVisitor6<R,P> javax.lang.model.util.ElementScanner6<R,P>

类型参数:R - 此 visitor 的方法的返回类型。对于不需要返回结果的 visitor,使用 Void。所有已实现的接口: ElementVisitor<R,P> @SupportedSourceVersion(value=RELEASE_6)public class ElementScanner6<R,P>extends AbstractElementVisitor6<R,P>

程序元素的扫描 visitor,具有适用于 RELEASE_6 源版本的默认行为。此类中的 visitXYZ 方法通过对其 封装元素、参数等调用 scan 来扫描其组件元素,正如其各自的方法规范所指示的那样。子类可以通过重写 visitXYZ 方法控制元素的访问顺序。注意,scanner 的客户端可通过对相关根元素调用 v.scan(e, p) 而不是 v.visit(e, p) 来获得所需行为。

当子类重写 visitXYZ 方法时,新方法可以通过调用 super.visitXYZ 按默认方式扫描封装的元素。使用这种方式,就附加处理而言,具体 visitor 可以控制遍历组件元素的顺序;例如,在重写方法的开始处以一致的方式调用 super.visitXYZ 将产生先序遍历 (preorder traversal)。如果应该以其他顺序遍历组件元素,那么重写的 visit 方法应该使用按所需顺序排列的元素调用 scan,而不是调用 super.visitXYZ

根据常规协定,可以重写此类中的方法。注意,具有 @Override 的具体子类中的注释方法可以帮助确定那些打算重写的方法。

警告: 以后可能会向此类实现的 ElementVisitor 接口添加一些方法,以适应添加到 Java™ 编程语言未来版本中的新(当前未知的)语言结构。所以,将来可能会向此类添加名称以 "visit" 开头的方法;为了避免不兼容,扩展此类的类不应该声明任何名称以 "visit" 开头的实例方法。

在添加一个这样的新 visit 方法时,此类中的默认实现将调用 visitUnknown 方法。还将引入新的元素 scanner visitor 类,以对应新的语言级别;此 visitor 针对相关 visit 方法有不同的默认行为。在引入新的 visitor 时,此 visitor 的全部或部分可能过时。

从以下版本开始: 1.6

字段摘要
protected  R DEFAULT_VALUE

          指定的默认值。

 

构造方法摘要
protected ElementScanner6()

          具体子类的构造方法;使用 null 作为默认值。

protected ElementScanner6(R defaultValue)

          具体子类的构造方法;使用参数作为默认值。

 

方法摘要
 R scan(Element e)

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

 R scan(Element e, P p)

          通过调用 e.accept(this, p) 处理元素;此方法可被子类重写。

 R scan(Iterable<? extends Element> iterable, P p)

          迭代给定元素并对每个元素调用 scan(Element, 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 visitVariable(VariableElement e, P p)

          访问变量元素。

 

从类 javax.lang.model.util.AbstractElementVisitor6 继承的方法
visit, visit, visitUnknown

 

从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

 

字段详细信息

DEFAULT_VALUE

protected final R DEFAULT_VALUE指定的默认值。

构造方法详细信息

ElementScanner6

protected ElementScanner6()具体子类的构造方法;使用 null 作为默认值。

ElementScanner6

protected ElementScanner6(R defaultValue)具体子类的构造方法;使用参数作为默认值。

方法详细信息

scan

public final R scan(Iterable<? extends Element> iterable, P p)迭代给定元素并对每个元素调用 scan(Element, P)。返回最后一次调用 scan 的结果;对于空 iterable,则返回 DEFAULT_VALUE。 参数:iterable - 要扫描的元素p - 附加参数 返回:最后一个元素的扫描;如果没有元素,则返回 DEFAULT_VALUE

scan

public R scan(Element e, P p)通过调用 e.accept(this, p) 处理元素;此方法可被子类重写。 返回:访问 e 的结果。

scan

public final R scan(Element e)等效于 v.scan(e, null) 的便捷方法。 返回:扫描 e 的结果。

visitPackage

public R visitPackage(PackageElement e, P p)访问包元素。 此实现扫描封装的元素。 参数:e - 要访问的元素p - 特定于 visitor 的参数 返回:扫描的结果

visitType

public R visitType(TypeElement e, P p)访问类型元素。 此实现扫描封装的元素。 参数:e - 要访问的元素p - 特定于 visitor 的参数 返回:扫描的结果

visitVariable

public R visitVariable(VariableElement e, P p)访问变量元素。 此实现扫描封装的元素。 参数:e - 要访问的元素p - 特定于 visitor 的参数 返回:扫描的结果

visitExecutable

public R visitExecutable(ExecutableElement e, P p)访问 executable 元素。 此实现扫描参数。 参数:e - 要访问的元素p - 特定于 visitor 的参数 返回:扫描的结果

visitTypeParameter

public R visitTypeParameter(TypeParameterElement e, P p)访问类型参数元素。 此实现扫描封装的元素。 参数:e - 要访问的元素p - 特定于 visitor 的参数 返回:扫描的结果

(责任编辑:乜欣)
转载请注明:文章出自计算机基础知识学习乐园-电脑医生网。

posted @ 2012-12-27 21:48  成都IT农民工小尧  阅读(230)  评论(0)    收藏  举报