モジュール java.compiler
パッケージ javax.lang.model.type

インタフェースTypeMirror

すべてのスーパー・インタフェース:
AnnotatedConstruct
既知のすべてのサブインタフェース:
ArrayType, DeclaredType, ErrorType, ExecutableType, IntersectionType, NoType, NullType, PrimitiveType, ReferenceType, TypeVariable, UnionType, WildcardType

public interface TypeMirror extends AnnotatedConstruct
Javaプログラミング言語の型を表します。 型には、プリミティブ型、宣言された型(クラスおよびインタフェースの型)、配列型、型変数、およびnull型が含まれます。 ワイルドカード型の引数、実行可能ファイルのシグネチャと戻り値の型、パッケージ、モジュール、キーワードvoidに対応する疑似型も表示されます。

型の比較には、Typesのユーティリティ・メソッドを使用してください。 特定の型が常に同じオブジェクトにより表されるとはかぎりません。

TypeMirrorオブジェクトのクラスに基づいて操作を実装するには、visitorを使用するか、getKind()メソッドの結果を使用します。 instanceofを使用することが、このモデル階層内のオブジェクトの有効なクラスを決定するための信頼できる方法であるとはかぎりません。実装によっては、単一のオブジェクトが複数のTypeMirrorサブインタフェースを実装するようにしている可能性があるためです。

Java言語仕様を参照してください:
「4.1 タイプと値の種類」
「4.2 プリミティブ・タイプおよび値」
「4.3 参照タイプおよび値」
「4.4 型変数」
「4.5 パラメータ化タイプ」
「4.8 Rawタイプ」
「4.9 交差タイプ」
「10.1 配列タイプ」
導入されたバージョン:
1.6
関連項目:
  • メソッドの詳細

    • getKind

      TypeKind getKind()
      この型のkindを返します。
      戻り値:
      このタイプのkind
    • equals

      boolean equals(Object obj)
      Object.equalsの一般規約に従います。 ただし、このメソッドは2つの型が同じ型を表すかどうかを示します。 型が等しいかどうかの意味上の比較には、Types.isSameType(TypeMirror, TypeMirror)を使用してください。 t1.equals(t2)の結果とTypes.isSameType(t1, t2)の結果は異なることがあります。
      オーバーライド:
      equals、クラスObject
      パラメータ:
      obj - この型と比較されるオブジェクト
      戻り値:
      指定されたオブジェクトがこれと等しい場合はtrue
      関連項目:
    • hashCode

      int hashCode()
      Object.hashCodeの一般規約に従います。
      オーバーライド:
      hashCode、クラスObject
      戻り値:
      このオブジェクトのハッシュ・コード値。
      関連項目:
    • toString

      String toString()
      この型の情報を提供する文字列表現を返します。 可能であれば、文字列はこの型をソース・コードで表すのに適した形式にしてください。 結果に埋め込まれた名前は、可能なかぎり修飾されています。
      オーバーライド:
      toString、クラスObject
      戻り値:
      この型の文字列表現
    • getAnnotationMirrors

      List<? extends AnnotationMirror> getAnnotationMirrors()
      この構造に直接存在する注釈を返します。

      このメソッドによって返される注釈はすべて型注釈であることに注意してください。

      定義:
      インタフェースAnnotatedConstructgetAnnotationMirrors
      戻り値:
      このコンストラクトに直接存在する注釈。存在しない場合は空のリスト
      導入されたバージョン:
      8
    • getAnnotation

      <A extends Annotation> A getAnnotation(Class<A> annotationType)
      存在する場合は、この構造の指定された型の注釈を返し、そうでない場合はnullを返します。

      このメソッドが返す注釈には、Class型の値を持つ要素が含まれる場合があります。 この値は直接返されません。つまり、クラス・ローダーを使用するための情報など、クラスを見つけてロードするのに必要な情報は利用できません。 返される注釈で関連するメソッドを呼び出すことによりClassオブジェクトを読み込もうとすると、MirroredTypeExceptionが発生します。これから、対応するTypeMirrorを抽出することができます。 同様に、Class[]の値を持つ要素を読み込もうとすると、MirroredTypesExceptionが発生します。

      ノート: このメソッドは、このインタフェースや関連するインタフェース内のほかのメソッドとは異なります。 このメソッドは、これらのインタフェースにより定義され、これらのインタフェースを通じて使用される表現に対して操作を行うのではなく、実行時リフレクト情報(仮想マシンに現在ロードされている注釈型の表現)に対して操作を行います。 その結果、返された注釈オブジェクトでメソッドを呼び出すと、コア・リフレクションによって返された注釈オブジェクトでメソッドを呼び出したときにスローされる可能性のある例外の多くがスローされることがあります。 このメソッドは、注釈型の既知の固定セットに対して操作を行うように記述された呼出し側を対象としています。

      このメソッドによって返される注釈はすべて型注釈であることに注意してください。

      定義:
      インタフェースAnnotatedConstructgetAnnotation
      型パラメータ:
      A - 注釈型
      パラメータ:
      annotationType - 注釈型に対応するClassオブジェクト
      戻り値:
      このような注釈がpresentの場合は指定された型のこのコンストラクト注釈、それ以外の場合はnull
      導入されたバージョン:
      8
      関連項目:
    • 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
      関連項目:
    • accept

      <R, P> R accept(TypeVisitor<R,P> v, P p)
      この型にビジターを適用します。
      型パラメータ:
      R - ビジターのメソッドの戻り型
      P - ビジターのメソッドに追加するパラメータの型
      パラメータ:
      v - この型で動作するビジター
      p - ビジターに追加するパラメータ
      戻り値:
      ビジター指定の結果