|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
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
である場合。
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |