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