- すべてのスーパー・インタフェース:
AnnotatedConstruct
- 既知のすべてのサブインタフェース:
ArrayType,DeclaredType,ErrorType,ExecutableType,IntersectionType,NoType,NullType,PrimitiveType,ReferenceType,TypeVariable,UnionType,WildcardType
public interface TypeMirror extends AnnotatedConstruct
voidに対応する疑似型も表示されます。
型の比較には、Typesのユーティリティ・メソッドを使用してください。 特定の型が常に同じオブジェクトにより表されるとはかぎりません。
TypeMirrorオブジェクトのクラスに基づいて操作を実装するには、visitorを使用するか、getKind()メソッドの結果を使用します。 instanceofを使用することが、このモデル階層内のオブジェクトの有効なクラスを決定するための信頼できる方法であるとはかぎりません。実装によっては、単一のオブジェクトが複数のTypeMirrorサブインタフェースを実装するようにしている可能性があるためです。
-
メソッドのサマリー
修飾子と型 メソッド 説明 <R, P> Raccept(TypeVisitor<R,P> v, P p)この型にビジターを適用します。booleanequals(Object obj)Object.equalsの一般規約に従います。<A extends Annotation>
AgetAnnotation(Class<A> annotationType)存在する場合は、この構造の指定された型の注釈を返し、そうでない場合はnullを返します。List<? extends AnnotationMirror>getAnnotationMirrors()この構造に直接存在する注釈を返します。<A extends Annotation>
A[]getAnnotationsByType(Class<A> annotationType)この構造に関連付けられている注釈を返します。TypeKindgetKind()この型のkindを返します。inthashCode()Object.hashCodeの一般規約に従います。StringtoString()この型の情報を提供する文字列表現を返します。
-
メソッドの詳細
-
getKind
TypeKind getKind()この型のkindを返します。- 「プリミティブ型」の種類は、
TypeKind.isPrimitive()がtrueを返す種類の1つです。 - 「nullタイプ」の種類は
NULLです。 - 「配列型」の種類は
ARRAYです。 - 「宣言型」の種類は
DECLAREDです。 - 「エラー・タイプ」の種類は
ERRORです。 - 「type変数」の種類は
TYPEVARです。 - 「ワイルドカード・タイプ」の種類は
WILDCARDです。 - 「実行可能タイプ」の種類は
EXECUTABLEです。 - pseudo-typeの種類は、
VOID、PACKAGE、MODULEまたはNONEのいずれかです。 - 「共用体タイプ」の種類は
UNIONです。 - 「交差タイプ」の種類は
INTERSECTIONです。
- 戻り値:
- この型の種類
- 「プリミティブ型」の種類は、
-
equals
boolean equals(Object obj)Object.equalsの一般規約に従います。 ただし、このメソッドは2つの型が同じ型を表すかどうかを示します。 型が等しいかどうかの意味上の比較には、Types.isSameType(TypeMirror, TypeMirror)を使用してください。t1.equals(t2)の結果とTypes.isSameType(t1, t2)の結果は異なることがあります。- オーバーライド:
equals、クラス:Object- パラメータ:
obj- この型と比較されるオブジェクト- 戻り値:
- 指定されたオブジェクトがこれと等しい場合は
true - 関連項目:
Object.hashCode()、HashMap
-
hashCode
int hashCode()Object.hashCodeの一般規約に従います。- オーバーライド:
hashCode、クラス:Object- 戻り値:
- このオブジェクトのハッシュ・コード値。
- 関連項目:
equals(java.lang.Object)
-
toString
String toString()この型の情報を提供する文字列表現を返します。 可能であれば、文字列はこの型をソース・コードで表すのに適した形式にしてください。 結果に埋め込まれた名前は、可能なかぎり修飾されています。 -
getAnnotationMirrors
List<? extends AnnotationMirror> getAnnotationMirrors()この構造に直接存在する注釈を返します。このメソッドによって返される注釈はすべて型注釈であることに注意してください。
- 定義:
- インタフェース
AnnotatedConstructのgetAnnotationMirrors - 戻り値:
- このコンストラクトに直接存在する注釈。存在しない場合は空のリスト
- 導入されたバージョン:
- 8
-
getAnnotation
<A extends Annotation> A getAnnotation(Class<A> annotationType)存在する場合は、この構造の指定された型の注釈を返し、そうでない場合はnullを返します。このメソッドが返す注釈には、
Class型の値を持つ要素が含まれる場合があります。 この値は直接返されません。つまり、クラス・ローダーを使用するための情報など、クラスを見つけてロードするのに必要な情報は利用できません。 返される注釈で関連するメソッドを呼び出すことによりClassオブジェクトを読み込もうとすると、MirroredTypeExceptionが発生します。これから、対応するTypeMirrorを抽出することができます。 同様に、Class[]の値を持つ要素を読み込もうとすると、MirroredTypesExceptionが発生します。ノート: このメソッドは、このインタフェースや関連するインタフェース内のほかのメソッドとは異なります。 このメソッドは、これらのインタフェースにより定義され、これらのインタフェースを通じて使用される表現に対して操作を行うのではなく、実行時リフレクト情報(仮想マシンに現在ロードされている注釈型の表現)に対して操作を行います。 その結果、返された注釈オブジェクトでメソッドを呼び出すと、コア・リフレクションによって返された注釈オブジェクトでメソッドを呼び出したときにスローされる可能性のある例外の多くがスローされることがあります。 このメソッドは、注釈型の既知の固定セットに対して操作を行うように記述された呼出し側を対象としています。
このメソッドによって返される注釈はすべて型注釈であることに注意してください。
- 定義:
- インタフェース
AnnotatedConstructのgetAnnotation - 型パラメータ:
A- 注釈型- パラメータ:
annotationType- 注釈型に対応するClassオブジェクト- 戻り値:
- 存在する場合は、このコンストラクトの指定された注釈型の注釈。そうでない場合は
null - 導入されたバージョン:
- 8
- 関連項目:
AnnotatedConstruct.getAnnotationMirrors(),AnnotatedElement.getAnnotation(java.lang.Class<T>),EnumConstantNotPresentException,AnnotationTypeMismatchException,IncompleteAnnotationException,MirroredTypeException,MirroredTypesException
-
getAnnotationsByType
<A extends Annotation> A[] getAnnotationsByType(Class<A> annotationType)この構造に関連付けられている注釈を返します。 このコンストラクトに関連付けられている注釈がない場合、戻り値は長さ0の配列です。 コンストラクトCに直接または間接的に存在している注釈の順序の計算では、Cに間接的に存在している注釈は、そのコンテナ注釈の場所に、コンテナ注釈の値要素内に現れる順序で、Cに直接存在しているかのように扱われます。 このメソッドとAnnotatedConstruct.getAnnotation(Class)の違いは、引数が「繰返し可能な注釈タイプ」かどうかをこのメソッドが検出し、その場合、"検索"がコンテナ注釈を使用してその型の注釈を検索しようとすることです。このメソッドから返される注釈には、
Class型の値を持つ要素が含まれている可能性があります。 この値は直接返されません。つまり、クラス・ローダーを使用するための情報など、クラスを見つけてロードするのに必要な情報は利用できません。 返される注釈で関連するメソッドを呼び出すことによりClassオブジェクトを読み込もうとすると、MirroredTypeExceptionが発生します。これから、対応するTypeMirrorを抽出することができます。 同様に、Class[]の値を持つ要素を読み込もうとすると、MirroredTypesExceptionが発生します。ノート: このメソッドは、このインタフェースや関連するインタフェース内のほかのメソッドとは異なります。 このメソッドは、これらのインタフェースにより定義され、これらのインタフェースを通じて使用される表現に対して操作を行うのではなく、実行時リフレクト情報(仮想マシンに現在ロードされている注釈型の表現)に対して操作を行います。 その結果、返された注釈オブジェクトでメソッドを呼び出すと、コア・リフレクションによって返された注釈オブジェクトでメソッドを呼び出したときにスローされる可能性のある例外の多くがスローされることがあります。 このメソッドは、注釈型の既知の固定セットに対して操作を行うように記述された呼出し側を対象としています。
このメソッドによって返される注釈はすべて型注釈であることに注意してください。
- 定義:
- インタフェース
AnnotatedConstruct内のgetAnnotationsByType - 型パラメータ:
A- 注釈型- パラメータ:
annotationType- 注釈型に対応するClassオブジェクト- 戻り値:
- 存在する場合は、このコンストラクトの指定された注釈型の注釈。そうでない場合は空の配列
- 導入されたバージョン:
- 8
- 関連項目:
AnnotatedConstruct.getAnnotationMirrors(),AnnotatedConstruct.getAnnotation(Class),AnnotatedElement.getAnnotationsByType(Class),EnumConstantNotPresentException,AnnotationTypeMismatchException,IncompleteAnnotationException,MirroredTypeException,MirroredTypesException
-
accept
<R, P> R accept(TypeVisitor<R,P> v, P p)この型にビジターを適用します。- 型パラメータ:
R- ビジターのメソッドの戻り型P- ビジターのメソッドに追加するパラメータの型- パラメータ:
v- この型で動作するビジターp- ビジターに追加するパラメータ- 戻り値:
- ビジター指定の結果
-