-
- 型パラメータ:
R
- このビジターのメソッドの戻り型。 結果を返すことを必要としないビジターのVoid
を使用する。P
- このビジターのメソッドに追加するパラメータの型。 追加のパラメータを必要としないビジターのVoid
を使用する。
- 既知のすべての実装クラス:
AbstractTypeVisitor6
,AbstractTypeVisitor7
,AbstractTypeVisitor8
,AbstractTypeVisitor9
,SimpleTypeVisitor6
,SimpleTypeVisitor7
,SimpleTypeVisitor8
,SimpleTypeVisitor9
,TypeKindVisitor6
,TypeKindVisitor7
,TypeKindVisitor8
,TypeKindVisitor9
public interface TypeVisitor<R,P>
ビジター・デザイン・パターンのスタイルによる型のビジターです。 このインタフェースを実装しているクラスは、コンパイル時に型の種類が未知の場合、型の操作に使用されます。 ビジターが型accept
メソッドに渡されると、その型に最も適用可能なvisitXyz
メソッドが呼び出されます。このインタフェースを実装するクラスは、追加パラメータ
p
がnull
のときにNullPointerException
をスローする場合としない場合があります。詳細については、クラスの実装に関するドキュメントを参照してください。警告: Java™プログラミング言語の将来のバージョンに現在は未知の新しい言語構造が追加される場合、それらを格納するために、このインタフェースにメソッドが追加される可能性があります。 したがって、このインタフェースを直接実装するビジター・クラスは、プラットフォームの将来のバージョンでソースの互換性がなくなる可能性があります。 このようなソースの非互換性を回避するために、ビジターの実装では、このインタフェースを実装する適切な抽象ビジター・クラスを拡張することをお薦めします。 ただし、APIは通常、抽象クラスのいずれかではなく、パラメータの型や戻り型などとして、このビジター・インタフェースを使用します。
新しい言語コンストラクトを格納するためのメソッドは、デフォルト・メソッドとして追加された場合、ソースと互換性のある方法で追加されることがあります。 ただし、デフォルトのメソッドはJava SE 8以降のリリースでのみ使用でき、Java SE 8にバンドルされている
javax.lang.model.*
パッケージはJava SE 7でも実行可能でなければなりません。 したがって、Java SE 8言語機能をカバーするようにjavax.lang.model.*
を拡張する場合、デフォルトのメソッドは使用されませんでした。 ただし、Java SE 8以降のプラットフォームでのみ実行する必要があるjavax.lang.model.*
パッケージのリビジョンでは、デフォルトのメソッドが使用されます。- 導入されたバージョン:
- 1.6
-
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド デフォルト・メソッド 修飾子と型 メソッド 説明 default R
visit(TypeMirror t)
visit(t, null)
と同等の簡易メソッドです。R
visit(TypeMirror t, P p)
型をビジットします。R
visitArray(ArrayType t, P p)
配列型をビジットします。R
visitDeclared(DeclaredType t, P p)
宣言された型をビジットします。R
visitError(ErrorType t, P p)
エラー型をビジットします。R
visitExecutable(ExecutableType t, P p)
実行可能型をビジットします。R
visitIntersection(IntersectionType t, P p)
共通部分型をビジットします。R
visitNoType(NoType t, P p)
NoType
インスタンスをビジットします。R
visitNull(NullType t, P p)
null型をビジットします。R
visitPrimitive(PrimitiveType t, P p)
プリミティブ型をビジットします。R
visitTypeVariable(TypeVariable t, P p)
型変数をビジットします。R
visitUnion(UnionType t, P p)
共用体型をビジットします。R
visitUnknown(TypeMirror t, P p)
未知の種類の型をビジットします。R
visitWildcard(WildcardType t, P p)
ワイルドカード型をビジットします。
-
-
-
メソッドの詳細
-
visit
R visit(TypeMirror t, P p)
型をビジットします。- パラメータ:
t
- ビジットする型p
- ビジター指定のパラメータ- 戻り値:
- ビジター指定の結果
-
visit
default R visit(TypeMirror t)
visit(t, null)
と同等の簡易メソッドです。- 実装要件:
- デフォルト実装は
visit(t, null)
です。 - パラメータ:
t
- ビジットする要素- 戻り値:
- ビジター指定の結果
-
visitPrimitive
R visitPrimitive(PrimitiveType t, P p)
プリミティブ型をビジットします。- パラメータ:
t
- ビジットする型p
- ビジター指定のパラメータ- 戻り値:
- ビジター指定の結果
-
visitNull
R visitNull(NullType t, P p)
null型をビジットします。- パラメータ:
t
- ビジットする型p
- ビジター指定のパラメータ- 戻り値:
- ビジター指定の結果
-
visitArray
R visitArray(ArrayType t, P p)
配列型をビジットします。- パラメータ:
t
- ビジットする型p
- ビジター指定のパラメータ- 戻り値:
- ビジター指定の結果
-
visitDeclared
R visitDeclared(DeclaredType t, P p)
宣言された型をビジットします。- パラメータ:
t
- ビジットする型p
- ビジター指定のパラメータ- 戻り値:
- ビジター指定の結果
-
visitError
R visitError(ErrorType t, P p)
エラー型をビジットします。- パラメータ:
t
- ビジットする型p
- ビジター指定のパラメータ- 戻り値:
- ビジター指定の結果
-
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
R visitNoType(NoType t, P p)
NoType
インスタンスをビジットします。- パラメータ:
t
- ビジットする型p
- ビジター指定のパラメータ- 戻り値:
- ビジター指定の結果
-
visitUnknown
R visitUnknown(TypeMirror t, P p)
未知の種類の型をビジットします。 これは、言語が拡張され、新しい種類の型がTypeMirror
階層に追加された場合に発生します。- パラメータ:
t
- ビジットする型p
- ビジター指定のパラメータ- 戻り値:
- ビジター指定の結果
- 例外:
UnknownTypeException
- 必要に応じてビジターの実装はこの例外をスローできる
-
visitUnion
R visitUnion(UnionType t, P p)
共用体型をビジットします。- パラメータ:
t
- ビジットする型p
- ビジター指定のパラメータ- 戻り値:
- ビジター指定の結果
- 導入されたバージョン:
- 1.7
-
visitIntersection
R visitIntersection(IntersectionType t, P p)
共通部分型をビジットします。- パラメータ:
t
- ビジットする型p
- ビジター指定のパラメータ- 戻り値:
- ビジター指定の結果
- 導入されたバージョン:
- 1.8
-
-