common
クラス ObjectPool

java.lang.Object
  上位を拡張 common.ObjectPool

public final class ObjectPool
extends Object

処理高速化のためにオブジェクトをプールするためのクラス。

本格的に使用するのであれば Apache Commons Pool などを導入すべき。

バージョン:
$Id: ObjectPool.java 32 2009-03-01 13:59:59Z Honeplus $
作成者:
Honeplus

メソッドの概要
static Object getInstance(Class<?> clazz, Object... param)
          オブジェクトのインスタンスを取得。
static Object getInstance(Constructor<?> constructor, Object... param)
          オブジェクトのインスタンスを取得。
static Object getInstance(String className, Object... param)
          オブジェクトのインスタンスを取得。
static void reset()
          保持しているオブジェクトのキャッシュを解放する。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

getInstance

public static Object getInstance(Constructor<?> constructor,
                                 Object... param)
                          throws InstantiationException,
                                 IllegalAccessException,
                                 InvocationTargetException,
                                 NoSuchMethodException
オブジェクトのインスタンスを取得。 キャッシュを保持しており、キャッシュがあればそこから取得。

パラメータ:
constructor - オブジェクトの生成で使用するコンストラクタ
param - オブジェクトのコンストラクタへの引数
戻り値:
オブジェクトのインスタンス
例外:
NullPointerException - clazznull
NoSuchMethodException - 一致するコンストラクタが見つからない場合
InvocationTargetException - コンストラクタで例外がスローされた場合
IllegalAccessException - コンストラクタにアクセスできない場合
InstantiationException - クラスが abstract クラスを表す場合

getInstance

public static Object getInstance(Class<?> clazz,
                                 Object... param)
                          throws InstantiationException,
                                 IllegalAccessException,
                                 InvocationTargetException,
                                 NoSuchMethodException

オブジェクトのインスタンスを取得。 キャッシュを保持しており、キャッシュがあればそこから取得。

paramnull が指定された場合や、複雑なコンストラクタ(基本型とラッパー型や、継承クラスだけが異なる) を持つクラスの場合、コンストラクタが識別できないため、動作は保証できない。
そういった場合は getInstance(Constructor, Object...) を使用すること。

パラメータ:
clazz - オブジェクトのクラス
param - オブジェクトのコンストラクタへの引数
戻り値:
オブジェクトのインスタンス
例外:
NullPointerException - clazznull
NoSuchMethodException - 一致するコンストラクタが見つからない場合
InvocationTargetException - コンストラクタで例外がスローされた場合
IllegalAccessException - コンストラクタにアクセスできない場合
InstantiationException - クラスが abstract クラスを表す場合

getInstance

public static Object getInstance(String className,
                                 Object... param)
                          throws ClassNotFoundException,
                                 InstantiationException,
                                 IllegalAccessException,
                                 InvocationTargetException,
                                 NoSuchMethodException

オブジェクトのインスタンスを取得。 キャッシュを保持しており、キャッシュがあればそこから取得。

paramnull が指定された場合や、複雑なコンストラクタ(基本型とラッパー型や、継承クラスだけが異なる) を持つクラスの場合、コンストラクタが識別できないため、動作は保証できない。
そういった場合は getInstance(Constructor, Object...) を使用すること。

パラメータ:
className - オブジェクトのクラス名
param - オブジェクトのコンストラクタへの引数
戻り値:
オブジェクトのインスタンス
例外:
NullPointerException - classNamenull
ClassNotFoundException - className のクラスが存在しない場合
NoSuchMethodException - 一致するコンストラクタが見つからない場合
InvocationTargetException - コンストラクタで例外がスローされた場合
IllegalAccessException - コンストラクタにアクセスできない場合
InstantiationException - クラスが abstract クラスを表す場合

reset

public static void reset()
保持しているオブジェクトのキャッシュを解放する。