- 型パラメータ:
R- このビジターのメソッドの戻り型。 結果を返すことを必要としないビジターのVoidを使用する。P- このビジターのメソッドに追加するパラメータの型。 追加のパラメータを必要としないビジターのVoidを使用する。
- 既知のすべての実装クラス:
AbstractElementVisitor14,AbstractElementVisitor6,AbstractElementVisitor7,AbstractElementVisitor8,AbstractElementVisitor9,ElementKindVisitor14,ElementKindVisitor6,ElementKindVisitor7,ElementKindVisitor8,ElementKindVisitor9,ElementScanner14,ElementScanner6,ElementScanner7,ElementScanner8,ElementScanner9,SimpleElementVisitor14,SimpleElementVisitor6,SimpleElementVisitor7,SimpleElementVisitor8,SimpleElementVisitor9
public interface ElementVisitor<R,P>
acceptメソッドに渡されると、その要素に最も適用可能なvisitXyzメソッドが呼び出されます。
このインタフェースを実装するクラスは、追加パラメータpがnullのときにNullPointerExceptionをスローする場合としない場合があります。詳細については、クラスの実装に関するドキュメントを参照してください。
- APIのノート:
- 警告: このインタフェースには、Javaプログラミング言語の将来のバージョンに追加される新しい、現在不明な言語構造に対応するためのメソッドが追加される可能性があります。 このような追加は、このAPIの導入後に追加された言語機能をサポートするためにすでに行われています。 このインタフェースを直接実装するビジター・クラスは、将来のバージョンのプラットフォームとソースの互換性がない可能性があります。 このようなソースの非互換性を回避するために、ビジターの実装では、このインタフェースを実装する適切な抽象ビジター・クラスを拡張することをお薦めします。 ただし、APIは通常、抽象クラスのいずれかではなく、パラメータの型や戻り型などとして、このビジター・インタフェースを使用します。
新しい言語構造に対応するメソッドは、
visitModuleの場合と同様に、強力なソース互換性を提供するためにデフォルト・メソッドとして追加する必要があります。 デフォルト・メソッドの実装は、visitUnknownを呼び出します。この動作は、ソース・バージョンをサポートする具象ビジターで新しい言語構成でオーバーライドされます。「utilパッケージ」には、このビジター・インタフェースを実装する複数のクラス・ファミリがあります。 ファミリは、
FooVisitorNの行に沿ったネーミング・パターンに従います。ここで、Nはビジターが適切な「ソース・バージョン」を示します。 特に、FooVisitorNは、ソース・バージョンNに存在するすべての言語構造を処理する必要があります。 バージョンN + 1の(またはそれ以降のリリース)に新しい言語構造が追加されていない場合、FooVisitorNはその新しいソース・バージョンも処理できます。その場合、FooVisitorNクラスのSupportedSourceVersion注釈は新しいバージョンを示します。 ソース・バージョンのNの後に導入された言語構造を表す要素にアクセスすると、その動作がオーバーライドされないかぎり、FooVisitorNはUnknownElementExceptionをスローします。ビジター・ファミリのどのメンバーをサブクラス化するかを選択する場合、最新のメンバーをサブクラス化すると、対象となるソース・バージョンの範囲が増加します。 サブクラス化するビジター・ファミリを選択する場合は、組込み機能を考慮してください:
AbstractElementVisitors: スケルトン・ビジターの実装。SimpleElementVisitors: デフォルトのアクションとデフォルトの戻り値をサポートします。ElementKindVisitors: 一部のカテゴリの要素は複数の種類を持つことができるため、per-kind粒度で提供される訪問メソッド。ElementScanners: スキャナは、要素および「囲み」要素を横断してそれに関連付けるビジターです。
- 導入されたバージョン:
- 1.6
-
メソッドのサマリー
修飾子と型 メソッド 説明 default Rvisit(Element e)visit(e, null)と同等の簡易メソッドです。Rvisit(Element e, P p)要素をビジットします。RvisitExecutable(ExecutableElement e, P p)実行可能要素をビジットします。default RvisitModule(ModuleElement e, P p)モジュール要素をビジットします。RvisitPackage(PackageElement e, P p)パッケージ要素をビジットします。default RvisitRecordComponent(RecordComponentElement e, P p)レコードに関連付けられ、Java言語のプレビュー機能。
レコード・コンポーネント要素を訪問します。RvisitType(TypeElement e, P p)型要素をビジットします。RvisitTypeParameter(TypeParameterElement e, P p)型パラメータ要素をビジットします。RvisitUnknown(Element e, P p)未知の種類の要素をビジットします。RvisitVariable(VariableElement e, P p)変数要素をビジットします。
-
メソッドの詳細
-
visit
要素をビジットします。- パラメータ:
e- ビジットする要素p- ビジター指定のパラメータ- 戻り値:
- ビジター指定の結果
-
visit
visit(e, null)と同等の簡易メソッドです。- 実装要件:
- デフォルト実装は
visit(e, null)です。 - パラメータ:
e- ビジットする要素- 戻り値:
- ビジター指定の結果
-
visitPackage
R visitPackage(PackageElement e, P p)パッケージ要素をビジットします。- パラメータ:
e- ビジットする要素p- ビジター指定のパラメータ- 戻り値:
- ビジター指定の結果
-
visitType
R visitType(TypeElement e, P p)型要素をビジットします。- パラメータ:
e- ビジットする要素p- ビジター指定のパラメータ- 戻り値:
- ビジター指定の結果
-
visitVariable
R visitVariable(VariableElement e, P p)変数要素をビジットします。- パラメータ:
e- ビジットする要素p- ビジター指定のパラメータ- 戻り値:
- ビジター指定の結果
-
visitExecutable
R visitExecutable(ExecutableElement e, P p)実行可能要素をビジットします。- パラメータ:
e- ビジットする要素p- ビジター指定のパラメータ- 戻り値:
- ビジター指定の結果
-
visitTypeParameter
R visitTypeParameter(TypeParameterElement e, P p)型パラメータ要素をビジットします。- パラメータ:
e- ビジットする要素p- ビジター指定のパラメータ- 戻り値:
- ビジター指定の結果
-
visitUnknown
未知の種類の要素をビジットします。 これは、言語が拡張され、新しい種類の要素がElement階層に追加された場合に発生します。- パラメータ:
e- ビジットする要素p- ビジター指定のパラメータ- 戻り値:
- ビジター指定の結果
- 例外:
UnknownElementException- 必要に応じてビジターの実装はこの例外をスローできる
-
visitModule
default R visitModule(ModuleElement e, P p)モジュール要素をビジットします。- 実装要件:
- デフォルトの実装では、
visitUnknown(e, p)を呼び出してModuleElementを参照します。 - パラメータ:
e- ビジットする要素p- ビジター指定のパラメータ- 戻り値:
- ビジター指定の結果
- 導入されたバージョン:
- 9
-
visitRecordComponent
default R visitRecordComponent(RecordComponentElement e, P p)このメソッドは、Java言語のプレビュー機能であるrecordに関連付けられています。 プレビュー機能は、将来のリリースで削除されるか、Java言語の永続機能にアップグレードされる可能性があります。
レコード・コンポーネント要素を訪問します。- 実装要件:
- デフォルトの実装では、
visitUnknown(e, p)を呼び出してRecordComponentElementを参照します。 - パラメータ:
e- ビジットする要素p- ビジター指定のパラメータ- 戻り値:
- ビジター指定の結果
- 導入されたバージョン:
- 14
-