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

クラスElementScanner6<R,​P>

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

@SupportedSourceVersion(RELEASE_6)
public class ElementScanner6<R,​P>
extends AbstractElementVisitor6<R,​P>
RELEASE_6ソース・バージョンに適したデフォルトの動作を持つ、プログラム要素のスキャン・ビジターです。 このクラスの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.6
関連項目:
ElementScanner7, ElementScanner8, ElementScanner9
  • フィールド詳細

    • DEFAULT_VALUE

      protected final R DEFAULT_VALUE
      指定されたデフォルト値です。
  • コンストラクタの詳細

    • ElementScanner6

      @Deprecated(since="9") protected ElementScanner6()
      非推奨。
      リリース6は廃止されました。新しいリリース・レベルのビジターに更新します。
      具象サブクラスのコンストラクタです。デフォルト値にnullを使用します。
    • ElementScanner6

      @Deprecated(since="9")protected ElementScanner6​(R defaultValue)
      非推奨。
      リリース6は廃止されました。新しいリリース・レベルのビジターに更新します。
      具象サブクラスのコンストラクタです。デフォルト値に引数を使用します。
      パラメータ:
      defaultValue - デフォルト値
  • メソッドの詳細

    • scan

      public final R scan​(Iterable<? extends Element> iterable, P p)
      指定された要素で反復し、各要素に対してscan(Element, P)を呼び出します。 scanの最後の呼出し結果を返します。空の反復可能なオブジェクトの場合は DEFAULT_VALUEを返します。
      パラメータ:
      iterable - スキャン対象の要素
      p - 追加のパラメータ
      戻り値:
      最後の要素のスキャン。要素がない場合はDEFAULT_VALUE
    • scan

      public R scan​(Element e, P p)
      e.accept(this, p)を呼び出すことで要素を処理します。サブクラスによって、このメソッドをオーバーライドできます。
      パラメータ:
      e - スキャンする要素
      p - スキャナ指定のパラメータ
      戻り値:
      eのビジット結果。
    • scan

      public final R scan​(Element e)
      v.scan(e, null)と同等の簡易メソッドです。
      パラメータ:
      e - スキャンする要素
      戻り値:
      eのスキャン結果。
    • visitPackage

      public R visitPackage​(PackageElement e, P p)
      パッケージ要素をビジットします。
      実装要件:
      この実装は、囲まれている要素をスキャンします。
      パラメータ:
      e - ビジットする要素
      p - ビジター指定のパラメータ
      戻り値:
      スキャン結果
    • visitType

      public R visitType​(TypeElement e, P p)
      型要素をビジットします。
      実装要件:
      この実装は、囲まれている要素をスキャンします。 タイプ・パラメータは「型の要素」であるとみなされないため、タイプ・パラメータはこの実装ではスキャンされないことに注意してください。
      パラメータ:
      e - ビジットする要素
      p - ビジター指定のパラメータ
      戻り値:
      スキャン結果
    • visitVariable

      public R visitVariable​(VariableElement e, P p)
      変数要素をビジットします。
      実装要件:
      この実装では、囲まれている要素がスキャンされます。ただし、要素がRESOURCE_VARIABLEの場合は、 visitUnknownが呼び出されます。
      パラメータ:
      e - ビジットする要素
      p - ビジター指定のパラメータ
      戻り値:
      スキャン結果
    • visitExecutable

      public R visitExecutable​(ExecutableElement e, P p)
      実行可能要素をビジットします。
      実装要件:
      この実装は、パラメータをスキャンします。 型パラメータは、この実装によってスキャンされないことに注意してください。
      パラメータ:
      e - ビジットする要素
      p - ビジター指定のパラメータ
      戻り値:
      スキャン結果
    • visitTypeParameter

      public R visitTypeParameter​(TypeParameterElement e, P p)
      型パラメータ要素をビジットします。
      実装要件:
      この実装は、囲まれている要素をスキャンします。
      パラメータ:
      e - ビジットする要素
      p - ビジター指定のパラメータ
      戻り値:
      スキャン結果