|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectorg.seasar.framework.util.tiger.ReflectionUtil
public abstract class ReflectionUtil
Java5のgenericsや可変長を活用する、リフレクションのためのユーティリティです。
| コンストラクタの概要 | |
|---|---|
protected |
ReflectionUtil()
インスタンスを構築します。 |
| メソッドの概要 | ||
|---|---|---|
static
|
forName(java.lang.String className)
現在のスレッドのコンテキストクラスローダを使って、 指定された文字列名を持つクラスまたはインタフェースに関連付けられた、 Classオブジェクトを返します。 |
|
static
|
forName(java.lang.String className,
java.lang.ClassLoader loader)
指定されたクラスローダを使って、 指定された文字列名を持つクラスまたはインタフェースに関連付けられた Classオブジェクトを返します。 |
|
static
|
forNameNoException(java.lang.String className)
現在のスレッドのコンテキストクラスローダを使って、 指定された文字列名を持つクラスまたはインタフェースに関連付けられた、 Classオブジェクトを返します。 |
|
static
|
forNameNoException(java.lang.String className,
java.lang.ClassLoader loader)
指定されたクラスローダを使って、 指定された文字列名を持つクラスまたはインタフェースに関連付けられた、 Classオブジェクトを返します。 |
|
static
|
getConstructor(java.lang.Class<T> clazz,
java.lang.Class<?>... argTypes)
Classオブジェクトが表すクラスの指定されたpublicコンストラクタをリフレクトするConstructorオブジェクトを返します。 |
|
static
|
getDeclaredConstructor(java.lang.Class<T> clazz,
java.lang.Class<?>... argTypes)
Classオブジェクトが表すクラスまたはインタフェースの指定されたコンストラクタをリフレクトするConstructorオブジェクトを返します。 |
|
static java.lang.reflect.Field |
getDeclaredField(java.lang.Class<?> clazz,
java.lang.String name)
Classオブジェクトが表すクラスまたはインタフェースの指定された宣言フィールドをリフレクトするFieldオブジェクトを返します。 |
|
static java.lang.reflect.Method |
getDeclaredMethod(java.lang.Class<?> clazz,
java.lang.String name,
java.lang.Class<?>... argTypes)
Classオブジェクトが表すクラスまたはインタフェースの指定されたメンバメソッドをリフレクトするMethodオブジェクトを返します。 |
|
static java.lang.Class<?> |
getElementTypeOfCollection(java.lang.reflect.Type parameterizedCollection)
パラメタ化されたコレクションの要素型を返します。 |
|
static java.lang.Class<?> |
getElementTypeOfCollectionFromFieldType(java.lang.reflect.Field field)
指定されたフィールドのパラメタ化されたコレクションの要素型を返します。 |
|
static java.lang.Class<?> |
getElementTypeOfCollectionFromParameterType(java.lang.reflect.Method method,
int parameterPosition)
指定されたメソッドの引数型として宣言されているパラメタ化されたコレクションの要素型を返します。 |
|
static java.lang.Class<?> |
getElementTypeOfCollectionFromReturnType(java.lang.reflect.Method method)
指定されたメソッドの戻り値型として宣言されているパラメタ化されたコレクションの要素型を返します。 |
|
static java.lang.Class<?> |
getElementTypeOfList(java.lang.reflect.Type parameterizedList)
パラメタ化されたリストの要素型を返します。 |
|
static java.lang.Class<?> |
getElementTypeOfListFromFieldType(java.lang.reflect.Field field)
指定されたフィールドのパラメタ化されたリストの要素型を返します。 |
|
static java.lang.Class<?> |
getElementTypeOfListFromParameterType(java.lang.reflect.Method method,
int parameterPosition)
指定されたメソッドの引数型として宣言されているパラメタ化されたリストの要素型を返します。 |
|
static java.lang.Class<?> |
getElementTypeOfListFromReturnType(java.lang.reflect.Method method)
指定されたメソッドの戻り値型として宣言されているパラメタ化されたリストの要素型を返します。 |
|
static java.lang.Class<?> |
getElementTypeOfSet(java.lang.reflect.Type parameterizedSet)
パラメタ化されたセットの要素型を返します。 |
|
static java.lang.Class<?> |
getElementTypeOfSetFromFieldType(java.lang.reflect.Field field)
指定されたフィールドのパラメタ化されたセットの要素型を返します。 |
|
static java.lang.Class<?> |
getElementTypeOfSetFromParameterType(java.lang.reflect.Method method,
int parameterPosition)
指定されたメソッドの引数型として宣言されているパラメタ化されたセットの要素型を返します。 |
|
static java.lang.Class<?> |
getElementTypeOfSetFromReturnType(java.lang.reflect.Method method)
指定されたメソッドの戻り値型として宣言されているパラメタ化されたセットの要素型を返します。 |
|
static java.lang.reflect.Field |
getField(java.lang.Class<?> clazz,
java.lang.String name)
Classオブジェクトが表すクラスまたはインタフェースの指定されたpublicメンバフィールドをリフレクトするFieldオブジェクトを返します。 |
|
static java.lang.reflect.Method |
getMethod(java.lang.Class<?> clazz,
java.lang.String name,
java.lang.Class<?>... argTypes)
Classオブジェクトが表すクラスまたはインタフェースの指定されたpublicメンバメソッドをリフレクトするMethodオブジェクトを返します。 |
|
static
|
getStaticValue(java.lang.reflect.Field field)
指定されたオブジェクトについて、 Fieldによって表されるstaticフィールドの値を返します。 |
|
static
|
getValue(java.lang.reflect.Field field,
java.lang.Object target)
指定されたオブジェクトについて、 Fieldによって表されるフィールドの値を返します。 |
|
static
|
invoke(java.lang.reflect.Method method,
java.lang.Object target,
java.lang.Object... args)
Methodオブジェクトによって表される基本となるメソッドを、指定したオブジェクトに対して指定したパラメータで呼び出します。 |
|
static
|
invokeStatic(java.lang.reflect.Method method,
java.lang.Object... args)
Methodオブジェクトによって表される基本となるstaticメソッドを、指定したパラメータで呼び出します。 |
|
static
|
newInstance(java.lang.Class<T> clazz)
指定されたクラスのデフォルトコンストラクタで、クラスの新しいインスタンスを作成および初期化します。 |
|
static
|
newInstance(java.lang.reflect.Constructor<T> constructor,
java.lang.Object... args)
指定された初期化パラメータで、コンストラクタの宣言クラスの新しいインスタンスを作成および初期化します。 |
|
static void |
setStaticValue(java.lang.reflect.Field field,
java.lang.Object value)
Fieldオブジェクトによって表されるstaticフィールドを、指定された新しい値に設定します。 |
|
static void |
setValue(java.lang.reflect.Field field,
java.lang.Object target,
java.lang.Object value)
Fieldオブジェクトによって表される指定されたオブジェクト引数のフィールドを、指定された新しい値に設定します。 |
|
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| コンストラクタの詳細 |
|---|
protected ReflectionUtil()
| メソッドの詳細 |
|---|
public static <T> java.lang.Class<T> forName(java.lang.String className)
throws ClassNotFoundRuntimeException
Classオブジェクトを返します。
T - Classオブジェクトが表すクラスclassName - 要求するクラスの完全修飾名
Classオブジェクト
ClassNotFoundRuntimeException - クラスが見つからなかった場合Class.forName(String)
public static <T> java.lang.Class<T> forName(java.lang.String className,
java.lang.ClassLoader loader)
throws ClassNotFoundRuntimeException
Classオブジェクトを返します。
T - Classオブジェクトが表すクラスclassName - 要求するクラスの完全修飾名loader - クラスのロード元である必要があるクラスローダ
Classオブジェクト
ClassNotFoundRuntimeException - クラスが見つからなかった場合Class.forName(String, boolean, ClassLoader)public static <T> java.lang.Class<T> forNameNoException(java.lang.String className)
Classオブジェクトを返します。
クラスが見つからなかった場合はnullを返します。
T - Classオブジェクトが表すクラスclassName - 要求するクラスの完全修飾名
ClassオブジェクトClass.forName(String)
public static <T> java.lang.Class<T> forNameNoException(java.lang.String className,
java.lang.ClassLoader loader)
Classオブジェクトを返します。
クラスが見つからなかった場合はnullを返します。
T - Classオブジェクトが表すクラスclassName - 要求するクラスの完全修飾名loader - クラスのロード元である必要があるクラスローダ
ClassオブジェクトClass.forName(String)
public static <T> java.lang.reflect.Constructor<T> getConstructor(java.lang.Class<T> clazz,
java.lang.Class<?>... argTypes)
throws NoSuchConstructorRuntimeException
Classオブジェクトが表すクラスの指定されたpublicコンストラクタをリフレクトするConstructorオブジェクトを返します。
T - Classオブジェクトが表すクラスclazz - クラスのClassオブジェクトargTypes - パラメータ配列
argTypesと一致するpublicコンストラクタのConstructorオブジェクト
NoSuchConstructorRuntimeException - 一致するコンストラクタが見つからない場合Class.getConstructor(Class[])
public static <T> java.lang.reflect.Constructor<T> getDeclaredConstructor(java.lang.Class<T> clazz,
java.lang.Class<?>... argTypes)
throws NoSuchConstructorRuntimeException
Classオブジェクトが表すクラスまたはインタフェースの指定されたコンストラクタをリフレクトするConstructorオブジェクトを返します。
T - Classオブジェクトが表すクラスclazz - クラスのClassオブジェクトargTypes - パラメータ配列
argTypesと一致するコンストラクタのConstructorオブジェクト
NoSuchConstructorRuntimeException - 一致するコンストラクタが見つからない場合Class.getDeclaredConstructor(Class[])
public static java.lang.reflect.Field getField(java.lang.Class<?> clazz,
java.lang.String name)
throws NoSuchFieldRuntimeException
Classオブジェクトが表すクラスまたはインタフェースの指定されたpublicメンバフィールドをリフレクトするFieldオブジェクトを返します。
clazz - クラスのClassオブジェクトname - フィールド名
nameで指定されたこのクラスのFieldオブジェクト
NoSuchFieldRuntimeException - 指定された名前のフィールドが見つからない場合Class.getField(String)
public static java.lang.reflect.Field getDeclaredField(java.lang.Class<?> clazz,
java.lang.String name)
throws NoSuchFieldRuntimeException
Classオブジェクトが表すクラスまたはインタフェースの指定された宣言フィールドをリフレクトするFieldオブジェクトを返します。
clazz - クラスのClassオブジェクトname - フィールド名
nameで指定されたこのクラスのFieldオブジェクト
NoSuchFieldRuntimeException - 指定された名前のフィールドが見つからない場合Class.getDeclaredField(String)
public static java.lang.reflect.Method getMethod(java.lang.Class<?> clazz,
java.lang.String name,
java.lang.Class<?>... argTypes)
throws NoSuchMethodRuntimeException
Classオブジェクトが表すクラスまたはインタフェースの指定されたpublicメンバメソッドをリフレクトするMethodオブジェクトを返します。
clazz - クラスのClassオブジェクトname - メソッドの名前argTypes - パラメータのリスト
nameおよびargTypesと一致するMethodオブジェクト
NoSuchMethodRuntimeException - 一致するメソッドが見つからない場合Class.getMethod(String, Class[])
public static java.lang.reflect.Method getDeclaredMethod(java.lang.Class<?> clazz,
java.lang.String name,
java.lang.Class<?>... argTypes)
throws NoSuchMethodRuntimeException
Classオブジェクトが表すクラスまたはインタフェースの指定されたメンバメソッドをリフレクトするMethodオブジェクトを返します。
clazz - クラスのClassオブジェクトname - メソッドの名前argTypes - パラメータのリスト
nameおよびargTypesと一致するMethodオブジェクト
NoSuchMethodRuntimeException - 一致するメソッドが見つからない場合Class.getDeclaredMethod(String, Class[])
public static <T> T newInstance(java.lang.Class<T> clazz)
throws InstantiationRuntimeException,
IllegalAccessRuntimeException
T - Classオブジェクトが表すクラスclazz - クラスを表すClassオブジェクト
InstantiationRuntimeException - 基本となるコンストラクタを宣言するクラスがabstractクラスを表す場合
IllegalAccessRuntimeException - 実パラメータ数と仮パラメータ数が異なる場合、 プリミティブ引数のラップ解除変換が失敗した場合、 またはラップ解除後、
メソッド呼び出し変換によってパラメータ値を対応する仮パラメータ型に変換できない場合、
このコンストラクタが列挙型に関連している場合Constructor.newInstance(Object[])
public static <T> T newInstance(java.lang.reflect.Constructor<T> constructor,
java.lang.Object... args)
throws InstantiationRuntimeException,
IllegalAccessRuntimeException
T - コンストラクタの宣言クラスconstructor - コンストラクタargs - コンストラクタ呼び出しに引数として渡すオブジェクトの配列
InstantiationRuntimeException - 基本となるコンストラクタを宣言するクラスがabstractクラスを表す場合
IllegalAccessRuntimeException - 実パラメータ数と仮パラメータ数が異なる場合、 プリミティブ引数のラップ解除変換が失敗した場合、 またはラップ解除後、
メソッド呼び出し変換によってパラメータ値を対応する仮パラメータ型に変換できない場合、
このコンストラクタが列挙型に関連している場合Constructor.newInstance(Object[])
public static <T> T getValue(java.lang.reflect.Field field,
java.lang.Object target)
throws IllegalAccessRuntimeException
Fieldによって表されるフィールドの値を返します。
T - フィールドの型field - フィールドtarget - 表現されるフィールド値の抽出元オブジェクト
obj内で表現される値
IllegalAccessRuntimeException - 基本となるフィールドにアクセスできない場合Field.get(Object)
public static <T> T getStaticValue(java.lang.reflect.Field field)
throws IllegalAccessRuntimeException
Fieldによって表されるstaticフィールドの値を返します。
T - フィールドの型field - フィールド
staticフィールドで表現される値
IllegalAccessRuntimeException - 基本となるフィールドにアクセスできない場合Field.get(Object)
public static void setValue(java.lang.reflect.Field field,
java.lang.Object target,
java.lang.Object value)
throws IllegalAccessRuntimeException
Fieldオブジェクトによって表される指定されたオブジェクト引数のフィールドを、指定された新しい値に設定します。
field - フィールドtarget - フィールドを変更するオブジェクトvalue - 変更中のtargetの新しいフィールド値
IllegalAccessRuntimeException - 基本となるフィールドにアクセスできない場合Field.set(Object, Object)
public static void setStaticValue(java.lang.reflect.Field field,
java.lang.Object value)
throws IllegalAccessRuntimeException
Fieldオブジェクトによって表されるstaticフィールドを、指定された新しい値に設定します。
field - フィールドvalue - staticフィールドの新しい値
IllegalAccessRuntimeException - 基本となるフィールドにアクセスできない場合Field.set(Object, Object)
public static <T> T invoke(java.lang.reflect.Method method,
java.lang.Object target,
java.lang.Object... args)
throws IllegalAccessRuntimeException,
InvocationTargetRuntimeException
Methodオブジェクトによって表される基本となるメソッドを、指定したオブジェクトに対して指定したパラメータで呼び出します。
T - メソッドの戻り値の型method - メソッドtarget - 基本となるメソッドの呼び出し元のオブジェクトargs - メソッド呼び出しに使用される引数
argsを使用してobjにディスパッチした結果
IllegalAccessRuntimeException - このMethodオブジェクトがJava言語アクセス制御を実施し、
基本となるメソッドにアクセスできない場合
InvocationTargetRuntimeException - 基本となるメソッドが例外をスローする場合Method.invoke(Object, Object[])
public static <T> T invokeStatic(java.lang.reflect.Method method,
java.lang.Object... args)
throws IllegalAccessRuntimeException,
InvocationTargetRuntimeException
Methodオブジェクトによって表される基本となるstaticメソッドを、指定したパラメータで呼び出します。
T - メソッドの戻り値の型method - メソッドargs - メソッド呼び出しに使用される引数
staticメソッドを、パラメータargsを使用してディスパッチした結果
IllegalAccessRuntimeException - このMethodオブジェクトがJava言語アクセス制御を実施し、
基本となるメソッドにアクセスできない場合
InvocationTargetRuntimeException - 基本となるメソッドが例外をスローする場合Method.invoke(Object, Object[])public static java.lang.Class<?> getElementTypeOfCollection(java.lang.reflect.Type parameterizedCollection)
parameterizedCollection - パラメタ化されたコレクションの型
public static java.lang.Class<?> getElementTypeOfCollectionFromFieldType(java.lang.reflect.Field field)
field - フィールド
public static java.lang.Class<?> getElementTypeOfCollectionFromParameterType(java.lang.reflect.Method method,
int parameterPosition)
method - メソッドparameterPosition - パラメタ化されたコレクションが宣言されているメソッド引数の位置
public static java.lang.Class<?> getElementTypeOfCollectionFromReturnType(java.lang.reflect.Method method)
method - メソッド
public static java.lang.Class<?> getElementTypeOfList(java.lang.reflect.Type parameterizedList)
parameterizedList - パラメタ化されたリストの型
public static java.lang.Class<?> getElementTypeOfListFromFieldType(java.lang.reflect.Field field)
field - フィールド
public static java.lang.Class<?> getElementTypeOfListFromParameterType(java.lang.reflect.Method method,
int parameterPosition)
method - メソッドparameterPosition - パラメタ化されたリストが宣言されているメソッド引数の位置
public static java.lang.Class<?> getElementTypeOfListFromReturnType(java.lang.reflect.Method method)
method - メソッド
public static java.lang.Class<?> getElementTypeOfSet(java.lang.reflect.Type parameterizedSet)
parameterizedSet - パラメタ化されたセットの型
public static java.lang.Class<?> getElementTypeOfSetFromFieldType(java.lang.reflect.Field field)
field - フィールド
public static java.lang.Class<?> getElementTypeOfSetFromParameterType(java.lang.reflect.Method method,
int parameterPosition)
method - メソッドparameterPosition - パラメタ化されたセットが宣言されているメソッド引数の位置
public static java.lang.Class<?> getElementTypeOfSetFromReturnType(java.lang.reflect.Method method)
method - メソッド
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||