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