JavaTM Platform
Standard Ed. 6

javax.lang.model.util
インタフェース Types


public interface Types

型で操作を行うためのユーティリティーメソッドです。

互換性に関する注: プラットフォームの将来のリリースでは、このインタフェースにメソッドが追加される可能性があります。

導入されたバージョン:
1.6
関連項目:
ProcessingEnvironment.getTypeUtils()

メソッドの概要
 Element asElement(TypeMirror t)
          型に対応する要素を返します。
 TypeMirror asMemberOf(DeclaredType containing, Element element)
          指定された型のメンバーとして要素が参照される場合、あるいは指定された型に直接包含されるメンバーとして要素が参照される場合、要素の型を返します。
 TypeElement boxedClass(PrimitiveType p)
          指定されたプリミティブ型のボクシングされた値のクラスを返します。
 TypeMirror capture(TypeMirror t)
          型に取得変換を適用します。
 boolean contains(TypeMirror t1, TypeMirror t2)
          ある型引数を別の型に「包含」できるかどうかをテストします。
 List<? extends TypeMirror> directSupertypes(TypeMirror t)
          型の直接のスーパータイプを返します。
 TypeMirror erasure(TypeMirror t)
          型の消去を返します。
 ArrayType getArrayType(TypeMirror componentType)
          指定されたコンポーネント型とともに配列型を返します。
 DeclaredType getDeclaredType(DeclaredType containing, TypeElement typeElem, TypeMirror... typeArgs)
          メンバーである型の包含型を指定すると、型要素と実際の型引数に対応する型を返します。
 DeclaredType getDeclaredType(TypeElement typeElem, TypeMirror... typeArgs)
          型要素と実際の型引数に対応する型を返します。
 NoType getNoType(TypeKind kind)
          適切な実際の型が存在しない場合に使用される擬似型を返します。
 NullType getNullType()
          null 型を返します。
 PrimitiveType getPrimitiveType(TypeKind kind)
          プリミティブ型を返します。
 WildcardType getWildcardType(TypeMirror extendsBound, TypeMirror superBound)
          新しいワイルドカードの型引数を返します。
 boolean isAssignable(TypeMirror t1, TypeMirror t2)
          ある型を別の型に代入できるかどうかをテストします。
 boolean isSameType(TypeMirror t1, TypeMirror t2)
          2 つの TypeMirror オブジェクトが同じ型を表すかどうかをテストします。
 boolean isSubsignature(ExecutableType m1, ExecutableType m2)
          あるメソッドのシグニチャーが別のメソッドの「サブシグニチャー」であるかどうかをテストします。
 boolean isSubtype(TypeMirror t1, TypeMirror t2)
          ある型が別の型のサブタイプであるかどうかをテストします。
 PrimitiveType unboxedType(TypeMirror t)
          指定された型のアンボクシングされた値の型 (プリミティブ型) を返します。
 

メソッドの詳細

asElement

Element asElement(TypeMirror t)
型に対応する要素を返します。型は DeclaredTypeTypeVariable のいずれかです。型が対応する要素を持たない場合は null を返します。

戻り値:
指定された型に対応する要素

isSameType

boolean isSameType(TypeMirror t1,
                   TypeMirror t2)
2 つの TypeMirror オブジェクトが同じ型を表すかどうかをテストします。

注意:このメソッドに渡される引数のいずれかがワイルドカードを表している場合、このメソッドは false を返します。そのため、ワイルドカードは自身と同じ型ではありません。これは一見驚くべきことですが、次のような例はコンパイラに拒否されることから理解できるはずです。

 
List<?> list = new ArrayList<Object>();
list.add(list.get(0));
 

パラメータ:
t1 - 最初の型
t2 - 2 番目の型
戻り値:
2 つの型が同じ場合に限り true

isSubtype

boolean isSubtype(TypeMirror t1,
                  TypeMirror t2)
ある型が別の型のサブタイプであるかどうかをテストします。型はそれ自体のサブタイプであるとみなされます。

パラメータ:
t1 - 最初の型
t2 - 2 番目の型
戻り値:
最初の型が 2 番目の型のサブタイプである場合に限り true
例外:
IllegalArgumentException - 実行可能ファイルまたはパッケージ型が渡された場合
関連項目 The Java Language Specification, Third Edition:
4.10 Subtyping

isAssignable

boolean isAssignable(TypeMirror t1,
                     TypeMirror t2)
ある型を別の型に代入できるかどうかをテストします。

パラメータ:
t1 - 最初の型
t2 - 2 番目の型
戻り値:
最初の型が 2 番目の型に代入可能である場合に限り true
例外:
IllegalArgumentException - 実行可能ファイルまたはパッケージ型が渡された場合
関連項目 The Java Language Specification, Third Edition:
5.2 Assignment Conversion

contains

boolean contains(TypeMirror t1,
                 TypeMirror t2)
ある型引数を別の型に「包含」できるかどうかをテストします。

パラメータ:
t1 - 最初の型
t2 - 2 番目の型
戻り値:
先頭の型が 2 番目の型を包含している場合に限り true
例外:
IllegalArgumentException - 実行可能ファイルまたはパッケージ型が渡された場合
関連項目 The Java Language Specification, Third Edition:
4.5.1.1 Type Argument Containment and Equivalence

isSubsignature

boolean isSubsignature(ExecutableType m1,
                       ExecutableType m2)
あるメソッドのシグニチャーが別のメソッドの「サブシグニチャー」であるかどうかをテストします。

パラメータ:
m1 - 最初のメソッド
m2 - 2 番目のメソッド
戻り値:
最初のシグニチャーが 2 番目のシグニチャーのサブシグニチャーである場合に限り true
関連項目 The Java Language Specification, Third Edition:
8.4.2 Method Signature

directSupertypes

List<? extends TypeMirror> directSupertypes(TypeMirror t)
型の直接のスーパータイプを返します。インタフェース型が存在する場合、そのインタフェース型がリストの最後に現れます。

パラメータ:
t - 調べる対象の型
戻り値:
直接のスーパータイプ。存在しない場合は空のリスト
例外:
IllegalArgumentException - 実行可能ファイルまたはパッケージ型が渡された場合

erasure

TypeMirror erasure(TypeMirror t)
型の消去を返します。

パラメータ:
t - 消去される型
戻り値:
指定された型の消去
例外:
IllegalArgumentException - パッケージ型が渡された場合
関連項目 The Java Language Specification, Third Edition:
4.6 Type Erasure

boxedClass

TypeElement boxedClass(PrimitiveType p)
指定されたプリミティブ型のボクシングされた値のクラスを返します。つまり、「ボクシング変換」が適用されます。

パラメータ:
p - 変換されるプリミティブ型
戻り値:
p のボクシングされた値のクラス
関連項目 The Java Language Specification, Third Edition:
5.1.7 Boxing Conversion

unboxedType

PrimitiveType unboxedType(TypeMirror t)
指定された型のアンボクシングされた値の型 (プリミティブ型) を返します。つまり、「アンボクシング変換」が適用されます。

パラメータ:
t - アンボクシングされる型
戻り値:
t のアンボクシングされた値の型
例外:
IllegalArgumentException - 指定された型がアンボクシング変換を持たない場合
関連項目 The Java Language Specification, Third Edition:
5.1.8 Unboxing Conversion

capture

TypeMirror capture(TypeMirror t)
型に取得変換を適用します。

パラメータ:
t - 変換される型
戻り値:
取得変換の適用結果
例外:
IllegalArgumentException - 実行可能ファイルまたはパッケージ型が渡された場合
関連項目 The Java Language Specification, Third Edition:
5.1.10 Capture Conversion

getPrimitiveType

PrimitiveType getPrimitiveType(TypeKind kind)
プリミティブ型を返します。

パラメータ:
kind - 返されるプリミティブ型の種類
戻り値:
プリミティブ型
例外:
IllegalArgumentException - kind がプリミティブ型でない場合

getNullType

NullType getNullType()
null 型を返します。これは、null の型です。

戻り値:
null 型

getNoType

NoType getNoType(TypeKind kind)
適切な実際の型が存在しない場合に使用される擬似型を返します。返される型の種類は、VOIDNONE のいずれかです。パッケージでは、代わりに Elements.getPackageElement(CharSequence).asType() を使用します。

パラメータ:
kind - 返される型の種類
戻り値:
種類 VOID または NONE の擬似型。
例外:
IllegalArgumentException - kind が無効な場合

getArrayType

ArrayType getArrayType(TypeMirror componentType)
指定されたコンポーネント型とともに配列型を返します。

パラメータ:
componentType - コンポーネント型
戻り値:
指定されたコンポーネント型を含む配列型
例外:
IllegalArgumentException - 配列に対してコンポーネント型が無効な場合

getWildcardType

WildcardType getWildcardType(TypeMirror extendsBound,
                             TypeMirror superBound)
新しいワイルドカードの型引数を返します。ワイルドカードの境界のどちらかを指定することも、両方とも指定しないこともできますが、両方を指定することはできません。

パラメータ:
extendsBound - extends 境界 (上限)。存在しない場合は null
superBound - super 境界 (下限)。存在しない場合は null
戻り値:
新しいワイルドカード
例外:
IllegalArgumentException - 境界が無効な場合

getDeclaredType

DeclaredType getDeclaredType(TypeElement typeElem,
                             TypeMirror... typeArgs)
型要素と実際の型引数に対応する型を返します。たとえば、Set の型要素と String の型ミラーが指定されている場合、このメソッドを使用すると、パラメータ化された型 Set<String> を取得できます。

型引数の数は、型要素の形式型パラメータの数に等しいか、ゼロでなければなりません。ゼロの場合および型要素が総称の場合は、型要素の生の型が返されます。

パラメータ化された型が返される場合、型要素は総称外部クラス内に含まれません。たとえば、パラメータ化された型 Outer<String>.Inner<Number> を構築するには、最初にこのメソッドを使用して Outer<String> を取得し、次に getDeclaredType(DeclaredType, TypeElement, TypeMirror...) を呼び出します。

パラメータ:
typeElem - 型要素
typeArgs - 実際の型引数
戻り値:
型要素と実際の型引数に対応する型
例外:
IllegalArgumentException - 指定された型引数が多すぎるか少なすぎる場合、あるいは不適切な型引数または型要素が提供された場合

getDeclaredType

DeclaredType getDeclaredType(DeclaredType containing,
                             TypeElement typeElem,
                             TypeMirror... typeArgs)
メンバーである型の包含型を指定すると、型要素と実際の型引数に対応する型を返します。たとえば、パラメータ化された型 Outer<String>.Inner<Number> を構築するには、最初に getDeclaredType(TypeElement, TypeMirror...) を使用して型 Outer<String> を取得し、次にこのメソッドを呼び出します。

包含型がパラメータ化された型の場合、型引数の数は、typeElem の形式型パラメータの数に等しくなければなりません。パラメータ化されていない場合または null の場合、このメソッドは getDeclaredType(typeElem, typeArgs) と等価です。

パラメータ:
containing - 包含型。存在しない場合は null
typeElem - 型要素
typeArgs - 実際の型引数
戻り値:
指定された型内に包含される型要素と実際の型引数に対応する型
例外:
IllegalArgumentException - 指定された型引数が多すぎるか少なすぎる場合、あるいは不適切な型引数、型要素、または包含型が提供された場合

asMemberOf

TypeMirror asMemberOf(DeclaredType containing,
                      Element element)
指定された型のメンバーとして要素が参照される場合、あるいは指定された型に直接包含されるメンバーとして要素が参照される場合、要素の型を返します。たとえば、パラメータ化された型 Set<String> のメンバーとして参照される場合、Set.add メソッドは型 String のパラメータを持つ ExecutableType です。

パラメータ:
containing - 包含型
element - 要素
戻り値:
包含型から参照される要素の型
例外:
IllegalArgumentException - 指定された型に対して要素が無効な場合

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。