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

クラスElementScanner8<R,P>

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


    @SupportedSourceVersion(RELEASE_8)
    public class ElementScanner8<R,P>
    extends ElementScanner7<R,P>
    RELEASE_8ソース・バージョンに適したデフォルトの動作を持つ、プログラム要素のスキャン・ビジターです。 このクラスのvisitXyzメソッドは、個々のメソッド仕様に示されているように、scan「囲まれた要素」parametersなどで呼び出してコンポーネントの要素をスキャンします。 サブクラスは、visitXyzメソッドをオーバーライドすることによって、要素がビジットされる順序を制御できます。 スキャナのクライアントは、目的のルート・オブジェクトに対してv.visit(e, p)ではなくv.scan(e, p)を呼び出すことによって、望ましい動作を取得することができます。

    サブクラスがvisitXyzメソッドをオーバーライドすると、新しいメソッドはsuper.visitXyzを呼び出すことで、囲まれた要素をデフォルトの方法でスキャンさせることができます。 このようにして、具体的なビジターは、追加の処理に関して、構成要素にわたるトラバーサルの順序を制御することができます。例えば、オーバーライドされたメソッドの先頭で一貫してsuper.visitXyzを呼び出すと、序盤のトラバーサルなどが発生します。super.visitXyzを呼び出す代わりに、コンポーネントの要素を他の順序でトラバースする必要がある場合は、オーバーライドするvisitメソッドはscanを希望の順序。

    このクラスのメソッドは、一般規約に従ってオーバーライドできます。 @Overrideを持つ具象サブクラスの注釈型メソッドを使用すると、メソッドが意図されたとおりにオーバーライドされます。

    警告: Java™プログラミング言語の将来のバージョンに、現在は未知の新しい言語構造が追加される場合、それらを格納するために、このクラスによって実装されるElementVisitorインタフェースにメソッドが追加される可能性があります。 したがって、将来的に、名前が"visit"で始まるメソッドがこのクラスに追加される可能性があります。非互換性が生じることを避けるため、このクラスを拡張するクラスでは、名前が"visit"で始まるインスタンス・メソッドを宣言しないようにしてください。

    このような新しいビジット・メソッドが追加されると、このクラスのデフォルトの実装はvisitUnknownメソッドを呼び出します。 また、新しい要素スキャナ・ビジター・クラスが、新しい言語レベルに対応するように導入されます。このビジターでは、目的のビジット・メソッドに対するデフォルトの動作が異なります。 新しいビジターが導入された場合、このビジターのすべてまたは一部が非推奨になる可能性があります。

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

      • ElementScanner8

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

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