|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjp.terasoluna.fw.util.GenericPropertyUtil
public class GenericPropertyUtil
JavaBeanのプロパティの
Genericsを扱うためのユーティリティクラス。
| コンストラクタの概要 | |
|---|---|
GenericPropertyUtil()
|
|
| メソッドの概要 | |
|---|---|
protected static Method |
getMethod(Object bean,
String name)
JavaBeanのプロパティの取得メソッドを
取得する。 |
static Class |
resolveCollectionType(Object bean,
String name)
JavaBeanの
Collection型プロパティの要素の型を取得する。 |
protected static Class |
resolveType(Class genericClass,
Class clazz,
Type type,
int index)
フィールド、または、メソッドの情報を元に Generics型で指定された型を取得する。 |
static Class |
resolveType(Object bean,
String name,
Class genericClass,
int index)
JavaBeanの
Generics型プロパティで指定された型を取得する。 |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| コンストラクタの詳細 |
|---|
public GenericPropertyUtil()
| メソッドの詳細 |
|---|
public static Class resolveCollectionType(Object bean,
String name)
throws IllegalArgumentException,
IllegalStateException
JavaBeanの
Collection型プロパティの要素の型を取得する。
public class Bean {
private List<String> list;
public List<String> getList() {
return this.list;
}
}
上記のようなBeanに対して、以下のように使用すると、
String.classを取得できる。
Bean bean = new Bean();
Class elementType =
GenericCollectionUtil.resolveCollectionType(
bean, "list");
bean - JavaBeanインスタンス。name - Collection型プロパティの名前。
Collectionの要素の型。
特定できない場合はObject型が返却される。
IllegalArgumentException - 引数beanが
nullの場合。引数nameが
null、空文字、空白文字列の場合。
JavaBeanのプロパティの
取得メソッドを取得できなかった場合
IllegalStateException - 指定されたプロパティがCollection実装クラス
ではない場合。
public static Class resolveType(Object bean,
String name,
Class genericClass,
int index)
throws IllegalArgumentException,
IllegalStateException
JavaBeanの
Generics型プロパティで指定された型を取得する。
public class Bean {
private Map<String, Boolean> map;
public Map<String, Boolean> getMap() {
return this.map;
}
}
上記のようなBeanに対して、以下のように使用すると、
String.classを取得できる。
Bean bean = new Bean();
Class keyType =
GenericCollectionUtil.resolveType(
bean, "map", Map.class, 0);
bean - JavaBeanインスタンス。name - Generics型プロパティの名前。genericClass - Generics型プロパティの
型定義を行っているクラス。index - 型パラメータの宣言順序。
Generics型プロパティで指定された型。
特定できない場合はObject型が返却される。
IllegalArgumentException - 引数beanが
nullの場合。引数nameが
null、空文字、空白文字列の場合。
引数genericClassがnullの場合。
引数indexが0より小さい、または、
宣言された型パラメータ数以上の場合。
JavaBeanのプロパティの
取得メソッドを取得できなかった場合
IllegalStateException - 型パラメータがWildCardTypeである場合。
protected static Method getMethod(Object bean,
String name)
throws IllegalArgumentException
JavaBeanのプロパティの取得メソッドを
取得する。
bean - JavaBeanインスタンス。name - Generics型プロパティの名前。
JavaBeanに定義されたプロパティの取得メソッド。
IllegalArgumentException - JavaBeanのプロパティの
取得メソッドを取得できなかった場合。
protected static Class resolveType(Class genericClass,
Class clazz,
Type type,
int index)
throws IllegalArgumentException,
IllegalStateException
Generics型で指定された型を取得する。
genericClass - Generics型プロパティの
型定義を行っているクラス。clazz - 具体的な型パラメータを指定したクラス。type - 具体的な型パラメータを指定したクラスのインスタンスの
Typeインスタンス。index - 型パラメータの宣言順序。
Generics型で指定された型。
特定できない場合はObject型が返却される。
IllegalArgumentException - 引数genericClassが
nullの場合。
引数clazzがnullの場合。
引数indexが0より小さい、または、
宣言された型パラメータ数以上の場合。
IllegalStateException - 型パラメータがWildCardTypeである場合。
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||