インタフェースTypeVisitor<R,P>
- 型パラメータ:
R- このビジターのメソッドの戻り型。 結果を返すことを必要としないビジターのVoidを使用する。P- このビジターのメソッドに対する追加パラメータのタイプ。 追加のパラメータを必要としないビジターのVoidを使用する。
- 既知のすべての実装クラス:
AbstractTypeVisitor14, AbstractTypeVisitor6, AbstractTypeVisitor7, AbstractTypeVisitor8, AbstractTypeVisitor9, AbstractTypeVisitorPreviewPREVIEW, SimpleTypeVisitor14, SimpleTypeVisitor6, SimpleTypeVisitor7, SimpleTypeVisitor8, SimpleTypeVisitor9, SimpleTypeVisitorPreviewPREVIEW, TypeKindVisitor14, TypeKindVisitor6, TypeKindVisitor7, TypeKindVisitor8, TypeKindVisitor9, TypeKindVisitorPreviewPREVIEW
acceptメソッドに渡されると、その型に最も適したvisitXyzメソッドが呼び出されます。
このインタフェースを実装するクラスは、追加パラメータpがnullのときにNullPointerExceptionをスローする場合としない場合があります。詳細については、クラスの実装に関するドキュメントを参照してください。
- APIのノート:
- 警告: このインタフェースには、Javaプログラミング言語の将来のバージョンに追加される新しい、現在不明な言語構造に対応するためのメソッドが追加される可能性があります。 このような追加は、このAPIの導入後に追加された言語機能をサポートするためにすでに行われています。 このインタフェースを直接実装するビジター・クラスは、将来のバージョンのプラットフォームとソースの互換性がない可能性があります。 このようなソースの非互換性を回避するために、ビジターの実装では、このインタフェースを実装する適切な抽象ビジター・クラスを拡張することをお薦めします。 ただし、APIは通常、抽象クラスのいずれかではなく、パラメータの型や戻り型などとして、このビジター・インタフェースを使用します。
新しい言語構造に対応するメソッドは、強力なソース互換性を提供するためにデフォルト・メソッドとして追加されることが期待されます。 デフォルト・メソッドの実装は、
visitUnknownを呼び出します。この動作は、ソース・バージョンをサポートする具象ビジターで新しい言語構成でオーバーライドされます。「utilパッケージ」には、このビジター・インタフェースを実装する複数のクラス・ファミリがあります。 ファミリは、
FooVisitorNの行に沿ったネーミング・パターンに従います。ここで、Nはビジターが適切な「ソース・バージョン」を示します。 特に、FooVisitorNは、ソース・バージョンNに存在するすべての言語構造を処理する必要があります。 バージョンN + 1の(またはそれ以降のリリース)に新しい言語構造が追加されていない場合、FooVisitorNはその新しいソース・バージョンも処理できます。その場合、FooVisitorNクラスのSupportedSourceVersion注釈は新しいバージョンを示します。 ソース・バージョンのNの後に導入された言語構造を表す型にアクセスすると、その動作がオーバーライドされないかぎり、FooVisitorNはUnknownTypeExceptionをスローします。ビジター・ファミリのどのメンバーをサブクラス化するかを選択する場合、最新のメンバーをサブクラス化すると、対象となるソース・バージョンの範囲が増加します。 サブクラス化するビジター・ファミリを選択する場合は、組込み機能を考慮してください:
AbstractTypeVisitors: スケルトン・ビジターの実装。SimpleTypeVisitors: デフォルトのアクションとデフォルトの戻り値をサポートします。TypeKindVisitors: per-kind粒度で提供されるVisitメソッドは、タイプのカテゴリによっては複数の種類を持つことができます。
- 導入されたバージョン:
- 1.6
-
メソッドのサマリー
修飾子と型メソッド説明default Rvisit(TypeMirror t) visit(t, null)と同等の簡易メソッドです。visit(TypeMirror t, P p) 型をビジットします。visitArray(ArrayType t, P p) 配列型をビジットします。visitDeclared(DeclaredType t, P p) 宣言された型をビジットします。visitError(ErrorType t, P p) エラー型をビジットします。visitExecutable(ExecutableType t, P p) 実行可能型をビジットします。共通部分型をビジットします。visitNoType(NoType t, P p) NoTypeインスタンスをビジットします。null型をビジットします。visitPrimitive(PrimitiveType t, P p) プリミティブ型をビジットします。visitTypeVariable(TypeVariable t, P p) 型変数をビジットします。visitUnion(UnionType t, P p) 共用体型をビジットします。visitUnknown(TypeMirror t, P p) 未知の種類の型をビジットします。visitWildcard(WildcardType t, P p) ワイルドカード型をビジットします。
-
メソッドの詳細
-
visit
-
visit
default R visit(TypeMirror t) visit(t, null)と同等の簡易メソッドです。- 実装要件:
- デフォルト実装は
visit(t, null)です。 - パラメータ:
t- ビジットする要素- 戻り値:
- ビジター指定の結果
-
visitPrimitive
R visitPrimitive(PrimitiveType t, P p) プリミティブ型をビジットします。- パラメータ:
t- ビジットする型p- ビジター指定のパラメータ- 戻り値:
- ビジター指定の結果
-
visitNull
-
visitArray
-
visitDeclared
R visitDeclared(DeclaredType t, P p) 宣言された型をビジットします。- パラメータ:
t- ビジットする型p- ビジター指定のパラメータ- 戻り値:
- ビジター指定の結果
-
visitError
-
visitTypeVariable
R visitTypeVariable(TypeVariable t, P p) 型変数をビジットします。- パラメータ:
t- ビジットする型p- ビジター指定のパラメータ- 戻り値:
- ビジター指定の結果
-
visitWildcard
R visitWildcard(WildcardType t, P p) ワイルドカード型をビジットします。- パラメータ:
t- ビジットする型p- ビジター指定のパラメータ- 戻り値:
- ビジター指定の結果
-
visitExecutable
R visitExecutable(ExecutableType t, P p) 実行可能型をビジットします。- パラメータ:
t- ビジットする型p- ビジター指定のパラメータ- 戻り値:
- ビジター指定の結果
-
visitNoType
-
visitUnknown
R visitUnknown(TypeMirror t, P p) 未知の種類の型をビジットします。 これは、言語が拡張され、新しい種類の型がTypeMirror階層に追加された場合に発生します。- パラメータ:
t- ビジットする型p- ビジター指定のパラメータ- 戻り値:
- ビジター指定の結果
- スロー:
UnknownTypeException- 必要に応じてビジターの実装はこの例外をスローできる
-
visitUnion
-
visitIntersection
R visitIntersection(IntersectionType t, P p) 共通部分型をビジットします。- パラメータ:
t- ビジットする型p- ビジター指定のパラメータ- 戻り値:
- ビジター指定の結果
- 導入されたバージョン:
- 1.8
-