jp.terasoluna.fw.util
クラス ClassUtil
java.lang.Object
   jp.terasoluna.fw.util.ClassUtil
jp.terasoluna.fw.util.ClassUtil
- public final class ClassUtil 
- extends java.lang.Object
文字列(String)から、インスタンスを生成するユーティリティクラス。
 
 
通常のインスタンス生成処理
 
     Integer integer = new Integer("12");
 
     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
 
| メソッドの概要 | 
| static java.lang.Object | create(java.lang.String className)生成するオブジェクトのクラス名を元にインスタンスを生成します。
 | 
| static java.lang.Object | create(java.lang.String className,
       java.lang.Object[] constructorParameter)生成するオブジェクトのクラス名を元にインスタンスを生成します。
 | 
 
| クラス java.lang.Object から継承されたメソッド | 
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
 
ClassUtil
public ClassUtil()
create
public static java.lang.Object create(java.lang.String className)
                               throws ClassLoadException
- 生成するオブジェクトのクラス名を元にインスタンスを生成します。
 
 クラス名が null で渡された場合、
  NullPointerException がスローされます。
 
- 
- パラメータ:
- className- 生成するオブジェクトのクラス名
- 戻り値:
- 生成したインスタンス
- 例外:
- ClassLoadException- インスタンス生成時に発生した例外をラップした例外
 
create
public static java.lang.Object create(java.lang.String className,
                                      java.lang.Object[] constructorParameter)
                               throws ClassLoadException
- 生成するオブジェクトのクラス名を元にインスタンスを生成します。
 
 クラス名が null で渡された場合、
  NullPointerException がスローされます。
 
- 
- パラメータ:
- className- 生成するオブジェクトのクラス名
- constructorParameter- 生成するオブジェクトのコンストラクタのパラメータ
 (注:)このパラメータは生成するオブジェクトの引数の順番と対応する必要があります。
- 戻り値:
- 生成したインスタンス
- 例外:
- ClassLoadException- インスタンス生成時に発生した例外をラップした例外