jp.terasoluna.fw.util
クラス ClassUtil
java.lang.Object
jp.terasoluna.fw.util.ClassUtil
public final class ClassUtil
- extends Object
文字列(String)から、インスタンスを生成するユーティリティクラス。
通常のインスタンス生成処理
Integer integer = new Integer("12");
通常の文字列(String)からのインスタンス生成処理
Integer integer = null;
Class createClass = null;
Class paramClass = null;
//クラスローダを取得する
Thread t = Thread.currentThread();
ClassLoader cl = t.getContextClassLoader();
try {
//生成するクラスのClassオブジェクトを取得
createClass = cl.loadClass("java.lang.Integer");
//コンストラクタの引数となるクラスのClassオブジェクトを取得
paramClass = cl.loadClass("java.lang.String");
} catch(ClassNotFoundException e) {
//クラスファイルが見つからなかった場合。
}
try {
//Constructorオブジェクトを取得
Constructor constructor =
classObject.getConstructor(new Class[]{paramClassObject});
} catch(NoSuchMethodException e) {
//指定された引数を定義したコンストラクタが無かった場合
} catch(SecurityException e) {
//情報へのアクセスが拒否された場合
}
try {
//インスタンスの生成
integer = constructor.newInstance(new Object{"12"});
} catch (IllegalArgumentException e) {
//不正な引数が渡された場合
} catch (InstantiationException e) {
//抽象クラスだった場合
} catch (IllegalAccessException e) {
//コンストラクタにアクセス出来なかった場合
} catch (InvocationTargetException e) {
//コンストラクタが例外をスローした場合
}
このクラスを使用した場合のインスタンス生成処理
Integer integer = null;
try {
integer = (Integer) ClassUtil.create(
"java.lang.Integer", new Object[] {"12"});
} catch(ClassLoadException e) {
//インスタンス生成時に例外が発生した場合
}
- 関連項目:
ClassLoadException
クラス java.lang.Object から継承されたメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ClassUtil
public ClassUtil()
create
public static Object create(String className)
throws ClassLoadException
- 生成するオブジェクトのクラス名を元にインスタンスを生成します。
クラス名が null で渡された場合、
NullPointerException がスローされます。
- パラメータ:
className
- 生成するオブジェクトのクラス名
- 戻り値:
- 生成したインスタンス
- 例外:
ClassLoadException
- インスタンス生成時に発生した例外をラップした例外
create
public static Object create(String className,
Object[] constructorParameter)
throws ClassLoadException
- 生成するオブジェクトのクラス名を元にインスタンスを生成します。
クラス名が null で渡された場合、
NullPointerException がスローされます。
- パラメータ:
className
- 生成するオブジェクトのクラス名constructorParameter
- 生成するオブジェクトのコンストラクタのパラメータ
(注:)このパラメータは生成するオブジェクトの引数の順番と対応する必要があります。
- 戻り値:
- 生成したインスタンス
- 例外:
ClassLoadException
- インスタンス生成時に発生した例外をラップした例外
Copyright © 2011. All Rights Reserved.