R - このビジターのメソッドの戻り型。結果を返すことを必要としないビジターの Void を使用する。P - このビジターのメソッドに追加するパラメータの型。追加のパラメータを必要としないビジターの Void を使用する。@SupportedSourceVersion(value=RELEASE_6) public class ElementScanner6<R,P> extends AbstractElementVisitor6<R,P>
RELEASE_6 ソースバージョンに適したデフォルトの動作を持つ、プログラム要素のスキャンビジターです。このクラスの visitXYZ メソッドは、個々のメソッドの仕様に示されているとおりに、囲まれている要素やパラメータなどに対して scan を呼び出すことで、コンポーネント要素をスキャンします。サブクラスは、visitXYZ メソッドをオーバーライドすることで、要素をビジットする順序を制御できます。スキャナのクライアントは、目的のルートオブジェクトに対して v.visit(e, p) ではなく v.scan(e, p) を呼び出すことによって、望ましい動作を取得することができます。
サブクラスが visitXYZ メソッドをオーバーライドすると、新しいメソッドによって super.visitXYZ を呼び出すことで、囲まれている要素をデフォルトの方法でスキャンすることが可能になります。この方法で、具象ビジターは追加の処理に対するコンポーネント要素のトラバーサルの順序を制御できます。たとえば、オーバーライドされたメソッドの開始時に super.visitXYZ を常に呼び出すことで、事前に順序付けられたトラバーサルが生じます。ほかの順序でコンポーネント要素をトラバースするには、super.visitXYZ を呼び出すのではなく、オーバーライドするビジットメソッドで目的の順序の要素に対して scan を呼び出すようにしてください。
このクラスのメソッドは、一般規約に従ってオーバーライドできます。@Override を持つ具象サブクラスの注釈型メソッドを使用すると、メソッドが意図されたとおりにオーバーライドされます。
警告: Java™ プログラミング言語の将来のバージョンに、現在は未知の新しい言語構造が追加される場合、それらを格納するために、このクラスによって実装される ElementVisitor インタフェースにメソッドが追加される可能性があります。したがって、将来的に、名前が "visit" で始まるメソッドがこのクラスに追加される可能性があります。非互換性が生じることを避けるため、このクラスを拡張するクラスでは、名前が "visit" で始まるインスタンスメソッドを宣言しないようにしてください。
このような新しいビジットメソッドが追加されると、このクラスのデフォルトの実装は visitUnknown メソッドを呼び出します。また、新しい要素スキャナビジタークラスが、新しい言語レベルに対応するように導入されます。このビジターでは、目的のビジットメソッドに対するデフォルトの動作が異なります。新しいビジターが導入された場合、このビジターのすべてまたは一部が非推奨になる可能性があります。
ElementScanner7| 修飾子と型 | フィールドと説明 |
|---|---|
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)
実行可能要素をビジットします。
|
R |
visitPackage(PackageElement e, P p)
パッケージ要素をビジットします。
|
R |
visitType(TypeElement e, P p)
型要素をビジットします。
|
R |
visitTypeParameter(TypeParameterElement e, P p)
型パラメータ要素をビジットします。
|
R |
visitVariable(VariableElement e, P p)
変数要素をビジットします。
|
visit, visit, visitUnknownprotected 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 の最後の呼び出し結果を返します。空の反復可能なオブジェクトの場合は DEFAULT_VALUE を返します。iterable - スキャン対象の要素p - 追加のパラメータDEFAULT_VALUEpublic R scan(Element e, P p)
e.accept(this, p) を呼び出すことで要素を処理します。サブクラスによって、このメソッドをオーバーライドできます。e のビジット結果。public R visitPackage(PackageElement e, P p)
e - ビジットする要素p - ビジター指定のパラメータpublic R visitType(TypeElement e, P p)
e - ビジットする要素p - ビジター指定のパラメータpublic R visitVariable(VariableElement e, P p)
RESOURCE_VARIABLE の場合は、visitUnknown が呼び出されます。e - ビジットする要素p - ビジター指定のパラメータpublic R visitExecutable(ExecutableElement e, P p)
e - ビジットする要素p - ビジター指定のパラメータpublic R visitTypeParameter(TypeParameterElement e, P p)
e - ビジットする要素p - ビジター指定のパラメータ バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.