LHA Library for Java

jp.gr.java_conf.dangan.lang.reflect
クラス Factory

java.lang.Object
  拡張jp.gr.java_conf.dangan.lang.reflect.Factory

public class Factory
extends Object

クラス名と 引数になるObject の配列から、 createInstance() によって新しいインスタンスを作り出す ユーティリティクラス。

 -- revision history --
 $Log: Factory.java,v $
 Revision 1.0  2002/10/01 00:00:00  dangan
 first edition
 add to version control

 

バージョン:
$Revision: 1.0 $
作成者:
$Author: dangan $

メソッドの概要
static Object createInstance(Class type, Object[] args)
          type で示されるクラスのインスタンスを生成する。
static Object createInstance(String classname, Object[] args)
          classname で示されるクラスのインスタンスを生成する。
static Constructor getConstructor(Class type, Object[] args)
          type のpublic なコンストラクタのうち、args を Type.parse した場合 引数として受け入れることができるものを得る。
static Constructor getConstructor(Class type, Object[] args, boolean all)
          type のコンストラクタのうち、args を Type.parse した場合 引数として受け入れることができるものを得る。
static Constructor getConstructor(String classname, Object[] args)
          classname で示されるクラスの public なコンストラクタのうち、 args を Type.parse した場合、引数として受け入れることが できるものを得る。
static Constructor getConstructor(String classname, Object[] args, boolean all)
          classnameで示されるクラスの コンストラクタのうち、args を Type.parse して 引数として受け入れることができるものを得る。
static Constructor getMatchFullConstructor(Class type, Object[] args)
          type の public なコンストラクタのうち、args を そのまま引数として受け入れることができるものを得る。
static Constructor getMatchFullConstructor(Class type, Object[] args, boolean all)
          type のコンストラクタのうち、args を そのまま引数として受け入れることができるものを得る。
static Constructor getMatchFullConstructor(String classname, Object[] args)
          classname で示されるクラスの public なコンストラクタのうち、 args を そのまま引数として受け入れることができるものを得る。
static Constructor getMatchFullConstructor(String classname, Object[] args, boolean all)
          classname で示されるクラスの コンストラクタのうち、 args を そのまま引数として受け入れることができるものを得る。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

createInstance

public static Object createInstance(String classname,
                                    Object[] args)
                             throws InvocationTargetException,
                                    InstantiationException,
                                    ClassNotFoundException,
                                    NoSuchMethodException
classname で示されるクラスのインスタンスを生成する。 コンストラクタには args の型と一致するものを使用する。

パラメータ:
classname - クラス名
args - 引数の配列
戻り値:
生成されたインスタンス args と型情報がマッチする コンストラクタが存在しなかった場合は null
例外:
InvocationTargetException - コンストラクタで例外が発生した場合
InstantiationException - abstractクラスのインスタンスを得ようとした場合
ClassNotFoundException - classname で示されるクラスが存在しない場合
NoSuchMethodException

createInstance

public static Object createInstance(Class type,
                                    Object[] args)
                             throws InvocationTargetException,
                                    InstantiationException,
                                    NoSuchMethodException
type で示されるクラスのインスタンスを生成する。 コンストラクタには args の型と一致するものを使用する。

パラメータ:
type - クラス名
args - 引数の配列
戻り値:
生成されたインスタンス args と型情報がマッチする コンストラクタが存在しなかった場合は null
例外:
InvocationTargetException - コンストラクタで例外が発生した場合
InstantiationException - abstractクラスのインスタンスを得ようとした場合
NoSuchMethodException

getConstructor

public static Constructor getConstructor(String classname,
                                         Object[] args)
                                  throws ClassNotFoundException
classname で示されるクラスの public なコンストラクタのうち、 args を Type.parse した場合、引数として受け入れることが できるものを得る。

パラメータ:
classname - クラス名。 この型のインスタンスを生成するための コンストラクタを得る。
args - 引数配列。 null を含めても良いが、null を使用した場合は Object のサブクラスであれば全てマッチしてしまうため、 目的のコンストラクタ以外のものが見つかる可能性がある。
戻り値:
args を引数に取ることができるコンストラクタ。 見つからなければ null。
例外:
ClassNotFoundException - classname で示されるクラスが存在しない場合

getConstructor

public static Constructor getConstructor(Class type,
                                         Object[] args)
type のpublic なコンストラクタのうち、args を Type.parse した場合 引数として受け入れることができるものを得る。

パラメータ:
type - 型情報。 この型のインスタンスを生成するためのコンストラクタを得る。
args - 引数配列。 null を含めても良いが、null を使用した場合は Object のサブクラスであれば全てマッチしてしまうため、 目的のコンストラクタ以外のものが見つかる可能性がある。
戻り値:
args を引数に取ることができるコンストラクタ。 見つからなければ null。

getConstructor

public static Constructor getConstructor(String classname,
                                         Object[] args,
                                         boolean all)
                                  throws ClassNotFoundException
classnameで示されるクラスの コンストラクタのうち、args を Type.parse して 引数として受け入れることができるものを得る。

パラメータ:
classname - クラス名。 この型のインスタンスを生成するためのコンストラクタを得る。
args - 引数配列。 null を含めても良いが、null を使用した場合は Object のサブクラスであれば全てマッチしてしまうため、 目的のコンストラクタ以外のものが見つかる可能性がある。
all - public のコンストラクタのみを検索するなら false。 public, protected, private, パッケージプライベートの 全てのコンストラクタをけんさくするなら true。
戻り値:
args を引数に取ることができるコンストラクタ。 見つからなければ null。
例外:
ClassNotFoundException - classname で示されるクラスが存在しない場合

getConstructor

public static Constructor getConstructor(Class type,
                                         Object[] args,
                                         boolean all)
type のコンストラクタのうち、args を Type.parse した場合 引数として受け入れることができるものを得る。

パラメータ:
type - 型情報。 この型のインスタンスを生成するためのコンストラクタを得る。
args - 引数配列。 null を含めても良いが、null を使用した場合は Object のサブクラスであれば全てマッチしてしまうため、 目的のコンストラクタ以外のものが見つかる可能性がある。
all - public のコンストラクタのみを検索するなら false。 public, protected, private, パッケージプライベートの 全てのコンストラクタをけんさくするなら true。
戻り値:
args を引数に取ることができるコンストラクタ。 見つからなければ null。

getMatchFullConstructor

public static Constructor getMatchFullConstructor(String classname,
                                                  Object[] args)
                                           throws ClassNotFoundException
classname で示されるクラスの public なコンストラクタのうち、 args を そのまま引数として受け入れることができるものを得る。

パラメータ:
classname - クラス名。 この型のインスタンスを生成するための コンストラクタを得る。
args - 引数配列。 null を含めても良いが、null を使用した場合は Object のサブクラスであれば全てマッチしてしまうため、 目的のコンストラクタ以外のものが見つかる可能性がある。
戻り値:
args を引数に取ることができるコンストラクタ。 見つからなければ null。
例外:
ClassNotFoundException - classname で示されるクラスが存在しない場合

getMatchFullConstructor

public static Constructor getMatchFullConstructor(Class type,
                                                  Object[] args)
type の public なコンストラクタのうち、args を そのまま引数として受け入れることができるものを得る。

パラメータ:
type - 型情報。 この型のインスタンスを生成するためのコンストラクタを得る。
args - 引数配列。 null を含めても良いが、null を使用した場合は Object のサブクラスであれば全てマッチしてしまうため、 目的のコンストラクタ以外のものが見つかる可能性がある。
戻り値:
args を引数に取ることができるコンストラクタ。 見つからなければ null。

getMatchFullConstructor

public static Constructor getMatchFullConstructor(String classname,
                                                  Object[] args,
                                                  boolean all)
                                           throws ClassNotFoundException
classname で示されるクラスの コンストラクタのうち、 args を そのまま引数として受け入れることができるものを得る。

パラメータ:
classname - クラス名。 この型のインスタンスを生成するための コンストラクタを得る。
args - 引数配列。 null を含めても良いが、null を使用した場合は Object のサブクラスであれば全てマッチしてしまうため、 目的のコンストラクタ以外のものが見つかる可能性がある。
戻り値:
args を引数に取ることができるコンストラクタ。 見つからなければ null。
例外:
ClassNotFoundException - classname で示されるクラスが存在しない場合

getMatchFullConstructor

public static Constructor getMatchFullConstructor(Class type,
                                                  Object[] args,
                                                  boolean all)
type のコンストラクタのうち、args を そのまま引数として受け入れることができるものを得る。

パラメータ:
type - 型情報。 この型のインスタンスを生成するためのコンストラクタを得る。
args - 引数配列。 null を含めても良いが、null を使用した場合は Object のサブクラスであれば全てマッチしてしまうため、 目的のコンストラクタ以外のものが見つかる可能性がある。
all - public のコンストラクタのみを検索するなら false。 public, protected, private, パッケージプライベートの 全てのコンストラクタをけんさくするなら true。
戻り値:
args を引数に取ることができるコンストラクタ。 見つからなければ null。

LHA Library for Java

バグやドキュメントの誤りの報告は作者宛てにお願いします。
ドキュメント内に含まれる社名、製品名については一般に各社の商標または登録商標です。
Copyright © 2001-2002 Michel Ishizuka. All Rights Reserved.