org.seasar.util.lang
クラス GenericsUtil

java.lang.Object
  上位を拡張 org.seasar.util.lang.GenericsUtil

public abstract class GenericsUtil
extends Object

genericsを扱うためのユーティリティ・クラスです。

作成者:
koichik

コンストラクタの概要
GenericsUtil()
           
 
メソッドの概要
protected static void gatherTypeVariables(Class<?> clazz, Type type, Map<TypeVariable<?>,Type> map)
          パラメータ化された型(クラスまたはインタフェース)が持つ型変数および型引数を集めてmapに追加します。
protected static void gatherTypeVariables(Type type, Map<TypeVariable<?>,Type> map)
          パラメータ化された型(クラスまたはインタフェース)が持つ型変数および型引数を集めてmapに追加します。
static Class<?> getActualClass(Type type, Map<TypeVariable<?>,Type> map)
          typeの実際の型を返します。
static Class<?> getActualElementClassOfArray(Type type, Map<TypeVariable<?>,Type> map)
          パラメータ化された型を要素とする配列の実際の要素型を返します。
static Class<?> getActualElementClassOfCollection(Type type, Map<TypeVariable<?>,Type> map)
          パラメータ化されたCollectionの実際の要素型を返します。
static Class<?> getActualElementClassOfList(Type type, Map<TypeVariable<?>,Type> map)
          パラメータ化されたListの実際の要素型を返します。
static Class<?> getActualElementClassOfSet(Type type, Map<TypeVariable<?>,Type> map)
          パラメータ化されたSetの実際の要素型を返します。
static Class<?> getActualKeyClassOfMap(Type type, Map<TypeVariable<?>,Type> map)
          パラメータ化されたMapのキーの実際の型を返します。
static Class<?> getActualValueClassOfMap(Type type, Map<TypeVariable<?>,Type> map)
          パラメータ化されたMapの値の実際の型を返します。
static Type getElementTypeOfArray(Type type)
          パラメータ化された型を要素とする配列の要素型を返します。
static Type getElementTypeOfCollection(Type type)
          パラメータ化されたCollectionの要素型を返します。
static Type getElementTypeOfList(Type type)
          パラメータ化されたListの要素型を返します。
static Type getElementTypeOfSet(Type type)
          パラメータ化されたSetの要素型を返します。
static Type getGenericParameter(Type type, int index)
          指定された位置のtypeの型引数を返します。
static Type[] getGenericParameters(Type type)
          typeの型引数の配列を返します。
static Type getKeyTypeOfMap(Type type)
          パラメータ化されたMapのキーの型を返します。
static Class<?> getRawClass(Type type)
          typeの原型を返します。
static Map<TypeVariable<?>,Type> getTypeVariableMap(Class<?> clazz)
          パラメータ化された型(クラスまたはインタフェース)が持つ型変数をキー、型引数を値とするMapを返します。
static Type getValueTypeOfMap(Type type)
          パラメータ化されたMapの値の型を返します。
static boolean isTypeOf(Type type, Class<?> clazz)
          typeの原型がclazzに代入可能であればtrueを、 それ以外の場合はfalseを返します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

GenericsUtil

public GenericsUtil()
メソッドの詳細

isTypeOf

public static boolean isTypeOf(Type type,
                               Class<?> clazz)
typeの原型がclazzに代入可能であればtrueを、 それ以外の場合はfalseを返します。

パラメータ:
type - タイプ。nullであってはいけません
clazz - クラス。nullであってはいけません
戻り値:
typeの原型がclazzに代入可能であればtrue

getRawClass

public static Class<?> getRawClass(Type type)
typeの原型を返します。

パラメータ:
type - タイプ
戻り値:
typeの原型

getGenericParameters

public static Type[] getGenericParameters(Type type)
typeの型引数の配列を返します。

typeが配列型の場合はその要素型(それが配列の場合はさらにその要素型)を対象とします。

typeがパラメータ化された型であっても、直接型引数を持たない場合は空の配列を返します。 パラメータ化された型の中にネストされた、型引数を持たない型などがその例です。

typeがパラメータ化された型でない場合はnullを返します。

パラメータ:
type - タイプ
戻り値:
typeの型引数の配列
関連項目:
ParameterizedType.getActualTypeArguments()

getGenericParameter

public static Type getGenericParameter(Type type,
                                       int index)
指定された位置のtypeの型引数を返します。

typeがパラメータ化された型でない場合はnullを返します。

パラメータ:
type - タイプ
index - 位置
戻り値:
指定された位置のtypeの型引数

getElementTypeOfArray

public static Type getElementTypeOfArray(Type type)
パラメータ化された型を要素とする配列の要素型を返します。

typeがパラメータ化された型の配列でない場合はnullを返します。

パラメータ:
type - パラメータ化された型を要素とする配列
戻り値:
パラメータ化された型を要素とする配列の要素型

getElementTypeOfCollection

public static Type getElementTypeOfCollection(Type type)
パラメータ化されたCollectionの要素型を返します。

typeがパラメータ化されたListでない場合はnullを返します。

パラメータ:
type - パラメータ化されたList
戻り値:
パラメータ化されたListの要素型

getElementTypeOfList

public static Type getElementTypeOfList(Type type)
パラメータ化されたListの要素型を返します。

typeがパラメータ化されたListでない場合はnullを返します。

パラメータ:
type - パラメータ化されたList
戻り値:
パラメータ化されたListの要素型

getElementTypeOfSet

public static Type getElementTypeOfSet(Type type)
パラメータ化されたSetの要素型を返します。

typeがパラメータ化されたSetでない場合はnullを返します。

パラメータ:
type - パラメータ化されたSet
戻り値:
パラメータ化されたSetの要素型

getKeyTypeOfMap

public static Type getKeyTypeOfMap(Type type)
パラメータ化されたMapのキーの型を返します。

typeがパラメータ化されたMapでない場合はnullを返します。

パラメータ:
type - パラメータ化されたMap
戻り値:
パラメータ化されたMapのキーの型

getValueTypeOfMap

public static Type getValueTypeOfMap(Type type)
パラメータ化されたMapの値の型を返します。

typeがパラメータ化されたMapでない場合はnullを返します。

パラメータ:
type - パラメータ化されたMap
戻り値:
パラメータ化されたMapの値の型

getTypeVariableMap

public static Map<TypeVariable<?>,Type> getTypeVariableMap(Class<?> clazz)
パラメータ化された型(クラスまたはインタフェース)が持つ型変数をキー、型引数を値とするMapを返します。

パラメータ:
clazz - パラメータ化された型(クラスまたはインタフェース)。nullであってはいけません
戻り値:
パラメータ化された型が持つ型変数をキー、型引数を値とするMap

gatherTypeVariables

protected static void gatherTypeVariables(Class<?> clazz,
                                          Type type,
                                          Map<TypeVariable<?>,Type> map)
パラメータ化された型(クラスまたはインタフェース)が持つ型変数および型引数を集めてmapに追加します。

パラメータ:
clazz - クラス
type - 型
map - パラメータ化された型が持つ型変数をキー、型引数を値とするMap

gatherTypeVariables

protected static void gatherTypeVariables(Type type,
                                          Map<TypeVariable<?>,Type> map)
パラメータ化された型(クラスまたはインタフェース)が持つ型変数および型引数を集めてmapに追加します。

パラメータ:
type - 型
map - パラメータ化された型が持つ型変数をキー、型引数を値とするMap

getActualClass

public static Class<?> getActualClass(Type type,
                                      Map<TypeVariable<?>,Type> map)
typeの実際の型を返します。

パラメータ:
type - タイプ
map - パラメータ化された型が持つ型変数をキー、型引数を値とするMap
戻り値:
typeの実際の型

getActualElementClassOfArray

public static Class<?> getActualElementClassOfArray(Type type,
                                                    Map<TypeVariable<?>,Type> map)
パラメータ化された型を要素とする配列の実際の要素型を返します。

パラメータ:
type - パラメータ化された型を要素とする配列
map - パラメータ化された型が持つ型変数をキー、型引数を値とするMap
戻り値:
パラメータ化された型を要素とする配列の実際の要素型

getActualElementClassOfCollection

public static Class<?> getActualElementClassOfCollection(Type type,
                                                         Map<TypeVariable<?>,Type> map)
パラメータ化されたCollectionの実際の要素型を返します。

パラメータ:
type - パラメータ化されたCollection
map - パラメータ化された型が持つ型変数をキー、型引数を値とするMap
戻り値:
パラメータ化されたCollectionの実際の要素型

getActualElementClassOfList

public static Class<?> getActualElementClassOfList(Type type,
                                                   Map<TypeVariable<?>,Type> map)
パラメータ化されたListの実際の要素型を返します。

パラメータ:
type - パラメータ化されたList
map - パラメータ化された型が持つ型変数をキー、型引数を値とするMap
戻り値:
パラメータ化されたListの実際の要素型

getActualElementClassOfSet

public static Class<?> getActualElementClassOfSet(Type type,
                                                  Map<TypeVariable<?>,Type> map)
パラメータ化されたSetの実際の要素型を返します。

パラメータ:
type - パラメータ化されたSet
map - パラメータ化された型が持つ型変数をキー、型引数を値とするMap
戻り値:
パラメータ化されたSetの実際の要素型

getActualKeyClassOfMap

public static Class<?> getActualKeyClassOfMap(Type type,
                                              Map<TypeVariable<?>,Type> map)
パラメータ化されたMapのキーの実際の型を返します。

パラメータ:
type - パラメータ化されたMap
map - パラメータ化された型が持つ型変数をキー、型引数を値とするMap
戻り値:
パラメータ化されたMapのキーの実際の型

getActualValueClassOfMap

public static Class<?> getActualValueClassOfMap(Type type,
                                                Map<TypeVariable<?>,Type> map)
パラメータ化されたMapの値の実際の型を返します。

パラメータ:
type - パラメータ化されたMap
map - パラメータ化された型が持つ型変数をキー、型引数を値とするMap
戻り値:
パラメータ化されたMapの値の実際の型


Copyright © 2010-2012 The Seasar Foundation. All Rights Reserved.