@Published(tag="architect") public final class ObjectUtil extends Object
| 修飾子とタイプ | メソッドと説明 |
|---|---|
static List<Class<?>> |
createExceptionsClassList(List originalExceptions)
例外の名称のリストから例外クラスのリストを生成する。
|
static <T> T |
createInstance(String className)
クラス名からインスタンスを生成する。
|
static Method |
findMatchMethod(Class<?> objectClass,
String methodName,
Class<?>... valueTypes)
指定したシグネチャにマッチするメソッドを検索する。
|
static List<Class<?>> |
getAncestorClasses(Class<?> clazz)
クラスの全ての祖先を取得する。
|
static Method |
getGetterMethod(Class<?> targetClass,
String propertyName)
getterメソッドを検索する。
|
static String |
getGetterMethodName(String propertyName)
プロパティ名からgetterメソッド名を取得する。
|
static List |
getGetterMethods(Class<?> clazz)
クラスにあるgetterのリストを取得する。
|
static Object |
getProperty(Object object,
String propertyName)
オブジェクトからプロパティの値を取得する。
|
static Object |
getPropertyIfExists(Object object,
String propertyName)
オブジェクトに、指定したプロパティが存在する場合に値を取得する。
|
static String |
getPropertyNameFromGetter(Method method)
getterメソッドからプロパティ名を取得する。
|
static String |
getPropertyNameFromSetter(Method method)
setterメソッドからプロパティ名を取得する。
|
static Class<?> |
getPropertyType(Class<?> clazz,
String propertyName)
プロパティの型を取得する。
|
static Method |
getSetterMethod(Class<?> targetClass,
String propertyName)
setterメソッドを検索する。
|
static String |
getSetterMethodName(String propertyName)
プロパティ名からsetterメソッド名を取得する。
|
static List |
getSetterMethods(Class<?> clazz)
clazzに定義されたsetterのリストを取得する。 |
static List |
getWritablePropertyNames(Class<?> clazz)
clazzに定義されたプロパティの名称リストを取得する。 |
static void |
setProperty(Object obj,
String propertyName,
Object value)
オブジェクトのプロパティに値をセットする。
|
public static <T> T createInstance(String className)
T - 型引数className - 完全修飾クラス名IllegalArgumentException - インスタンスの生成に失敗した場合public static void setProperty(Object obj, String propertyName, Object value)
obj - 対象のオブジェクトpropertyName - プロパティ名value - セットする値(NOT null)RuntimeException - 対象プロパティにsetterが定義されていない場合か、
対象プロパティのsetterが対象プロパティの型かそのサブクラスを引数にとらない場合public static String getSetterMethodName(String propertyName)
propertyName - プロパティ名public static Method findMatchMethod(Class<?> objectClass, String methodName, Class<?>... valueTypes)
nullを返す。
マッチング条件は以下である。
methodNameとメソッド名が一致していることvalueTypesと引数の数が一致していることvalueTypesと引数の型が一致していること。ただし、以下の場合は「同一の型」と見なす。
valueTypesで指定した型とそのスーパークラスとを比較した場合objectClass - 検索対象のクラスmethodName - メソッド名valueTypes - 引数の型リスト(NOT null)。
引数の型の他、そのサブクラスでもマッチする。
引数を取らないメソッドを検索する場合は、空の配列を引き渡す。public static List<Class<?>> getAncestorClasses(Class<?> clazz)
clazzからの近さ順となる。
Objectは取得結果リストに含まれない。clazzがObject以外を継承していないクラスである場合、空のリストを返す。clazz - 祖先を取得するクラスpublic static Class<?> getPropertyType(Class<?> clazz, String propertyName)
nullを返す。clazz - プロパティの型を取得するクラスpropertyName - プロパティ名public static List getWritablePropertyNames(Class<?> clazz)
clazzに定義されたプロパティの名称リストを取得する。
setterが定義されているプロパティのみが対象となる。
clazzにsetterが定義されたプロパティがない場合、空のリストを返す。clazz - 取得対象のクラスclazzに定義されたプロパティの名称リスト(setterが定義されているプロパティのみ取得する)public static String getPropertyNameFromSetter(Method method)
method - セッタメソッドIllegalArgumentException - methodの名称が"set"で開始していない場合public static List getSetterMethods(Class<?> clazz)
clazzに定義されたsetterのリストを取得する。
setterが一つも定義されていない場合は空のリストを返す。clazz - 取得対象のクラスclazzに定義されたセッタのリストpublic static Method getSetterMethod(Class<?> targetClass, String propertyName)
targetClass - ターゲットのクラスpropertyName - プロパティ名RuntimeException - propertyNameに対応するsetterがない場合public static Method getGetterMethod(Class<?> targetClass, String propertyName)
targetClass - ターゲットのクラスpropertyName - プロパティ名RuntimeException - propertyNameに対応するgetterがない場合public static String getGetterMethodName(String propertyName)
propertyName - プロパティ名IllegalArgumentException - propertyNameがnullか空文字である場合public static String getPropertyNameFromGetter(Method method)
method - getterメソッドIllegalArgumentException - methodの名前が"get"で開始していない場合public static List getGetterMethods(Class<?> clazz)
Object.getClass()は取得対象から除く。
getterが一つも定義されていない場合は空のリストを返す。clazz - 取得対象のクラスpublic static Object getProperty(Object object, String propertyName)
object - Map、またはプロパティ名のgetterを備えたオブジェクトpropertyName - プロパティ名IllegalArgumentException - objectがnullである場合propertyNameがnullか空文字である場合propertyNameに対応する、getterメソッドが定義されたプロパティがない場合public static Object getPropertyIfExists(Object object, String propertyName)
nullを返す。object - Mapまたはプロパティ名のgetterを備えたオブジェクトpropertyName - プロパティ名objectがnullである場合propertyNameがnullか空文字である場合public static List<Class<?>> createExceptionsClassList(List originalExceptions)
originalExceptionsの文字列クラス名の格納順にリストに格納されて返される。
originalExceptionsが空の場合は、空のリストを返す。originalExceptions - 例外クラス名リスト。(List<String>)RuntimeException - 要素内の文字列クラス名が、RuntimeExceptionのサブクラス以外の場合