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