| 
 | JavaTM Platform Standard Ed. 6 | |||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjavax.lang.model.util.AbstractElementVisitor6<R,P>
javax.lang.model.util.ElementScanner6<R,P>
R - 此 visitor 的方法的返回类型。对于不需要返回结果的 visitor,使用 Void。@SupportedSourceVersion(value=RELEASE_6) public class ElementScanner6<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 的全部或部分可能过时。
| 字段摘要 | |
|---|---|
| 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 | 
| 字段详细信息 | 
|---|
protected final R DEFAULT_VALUE
| 构造方法详细信息 | 
|---|
protected ElementScanner6()
null 作为默认值。
protected ElementScanner6(R defaultValue)
| 方法详细信息 | 
|---|
public final R scan(Iterable<? extends Element> iterable,
                    P p)
scan(Element, P)。返回最后一次调用 scan 的结果;对于空 iterable,则返回 DEFAULT_VALUE。
iterable - 要扫描的元素p - 附加参数
DEFAULT_VALUE
public R scan(Element e,
              P p)
e.accept(this, p) 处理元素;此方法可被子类重写。
e 的结果。public final R scan(Element e)
v.scan(e, null) 的便捷方法。
e 的结果。
public R visitPackage(PackageElement e,
                      P p)
e - 要访问的元素p - 特定于 visitor 的参数
public R visitType(TypeElement e,
                   P p)
e - 要访问的元素p - 特定于 visitor 的参数
public R visitVariable(VariableElement e,
                       P p)
e - 要访问的元素p - 特定于 visitor 的参数
public R visitExecutable(ExecutableElement e,
                         P p)
e - 要访问的元素p - 特定于 visitor 的参数
public R visitTypeParameter(TypeParameterElement e,
                            P p)
e - 要访问的元素p - 特定于 visitor 的参数
| 
 | JavaTM Platform Standard Ed. 6 | |||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。