モジュール java.compiler
パッケージ javax.lang.model.util

クラスElementScanner9<R,​P>

  • 型パラメータ:
    R - このビジターのメソッドの戻り型。 結果を返すことを必要としないビジターのVoidを使用する。
    P - このビジターのメソッドに追加するパラメータの型。 追加のパラメータを必要としないビジターのVoidを使用する。
    すべての実装されたインタフェース:
    ElementVisitor<R,​P>

    @SupportedSourceVersion(RELEASE_11)
    public class ElementScanner9<R,​P>
    extends ElementScanner8<R,​P>
    ソース・バージョンRELEASE_9からRELEASE_11に適切なデフォルト動作を持つ、プログラム要素のビジターです。 このクラスの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メソッドを呼び出します。 また、新しい要素スキャナ・ビジター・クラスが、新しい言語レベルに対応するように導入されます。このビジターでは、目的のビジット・メソッドに対するデフォルトの動作が異なります。 新しいビジターが導入された場合、このビジターのすべてまたは一部が非推奨になる可能性があります。

    導入されたバージョン:
    9
    関連項目:
    ElementScanner6, ElementScanner7, ElementScanner8
    • コンストラクタの詳細

      • ElementScanner9

        protected ElementScanner9()
        具象サブクラスのコンストラクタです。デフォルト値にnullを使用します。
      • ElementScanner9

        protected ElementScanner9​(R defaultValue)
        具象サブクラスのコンストラクタです。デフォルト値に引数を使用します。
        パラメータ:
        defaultValue - デフォルト値
    • メソッドの詳細

      • visitModule

        public R visitModule​(ModuleElement e,
                             P p)
        モジュール要素にアクセスします。
        定義:
        インタフェースElementVisitor<R,​P>内のvisitModule
        オーバーライド:
        クラスAbstractElementVisitor6<R,​P>visitModule
        実装要件:
        この実装は、囲まれている要素をスキャンします。
        パラメータ:
        e - ビジットする要素
        p - ビジター指定のパラメータ
        戻り値:
        スキャンの結果