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