org.apache.commons.pool.impl
クラス StackKeyedObjectPool

java.lang.Object
  拡張org.apache.commons.pool.BaseKeyedObjectPool
      拡張org.apache.commons.pool.impl.StackKeyedObjectPool
すべての実装インタフェース:
KeyedObjectPool

public class StackKeyedObjectPool
extends BaseKeyedObjectPool
implements KeyedObjectPool

Stack をベースにしたシンプルな KeyedObjectPool の実装です。

PoolableObjectFactory を渡されることにより、 このクラスはシンプルなインスタンスのプールを管理します。 "休止した"または未使用のインスタンスの数は制限されますが、 プールが空の場合には新たな取得要求にこたえるために新たなインスタンスが生成されます。 従ってこのクラスプールによって生成された"使用中"のインスタンスを数の制限なく持つことができますが、 不自然な制限をかけることなしに Object の再利用を行う際に非常に有用です。

バージョン:
$Id: StackKeyedObjectPool.java,v 1.1 2004/02/22 11:58:26 hioki Exp $
作成者:
Rodney Waldhoff
翻訳者:
日置 聡

コンストラクタの概要
StackKeyedObjectPool()
          ファクトリを使用せずに新たなプールを生成します。
StackKeyedObjectPool(int max)
          ファクトリを使用せずに新たなプールを生成します。
StackKeyedObjectPool(int max, int init)
          ファクトリを使用せずに新たなプールを生成します。
StackKeyedObjectPool(KeyedPoolableObjectFactory factory)
          指定された factory を新規インスタンスの生成に使用する、新たな StackKeyedObjectPool を生成します。
StackKeyedObjectPool(KeyedPoolableObjectFactory factory, int max)
          指定された factory を新規インスタンスの生成に使用し、 "休止した状態の"インスタンスの数を max に制限する、新たな StackKeyedObjectPool を生成します。
StackKeyedObjectPool(KeyedPoolableObjectFactory factory, int max, int init)
          指定された factory を新規インスタンスの生成に使用し、 "休止した状態の"インスタンスの数を max に制限し、 初期化時に少なくとも init 個のインスタンスを格納できる容量を確保する、新たな StackKeyedObjectPool を生成します。
 
メソッドの概要
 void addObject(Object key)
          自身のファクトリまたは他の実装に依存する機能によってプール内にオブジェクトを配置します。
 Object borrowObject(Object key)
          プールから指定された key に対応するインスタンスを取り出します。
 void clear()
          全てのプールされたすべてのインスタンスを削除し、プールをクリアします(オプショナルな処理)。
 void clear(Object key)
          全てのプールされたインスタンスを削除し、プールをクリアします(オプショナルな処理)。
 void close()
          このプールを閉じ、関連する全てのリソースを開放します。
 int getNumActive()
          このプールから取得され、まだ戻されていないインスタンスの数を返します(オプショナルな処理)。
 int getNumActive(Object key)
          このプールから取得され、まだ戻されていない指定された key に対応するインスタンスの数を返します(オプショナルな処理)。
 int getNumIdle()
          現在プール内にある使用されていないインスタンスの数を返します(オプショナルな処理)。
 int getNumIdle(Object key)
          現在プール内にある使用されていない指定された key に対応するインスタンスの数を返します(オプショナルな処理)。
 void invalidateObject(Object key, Object obj)
          プール内で管理されるオブジェクトを無効にします。
 void returnObject(Object key, Object obj)
          プールにインスタンスを返します。
 void setFactory(KeyedPoolableObjectFactory factory)
          新たなインスタンスを生成するために使用する ファクトリ を設定します(オプショナルな処理)。
 String toString()
           
 
クラス java.lang.Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

StackKeyedObjectPool

public StackKeyedObjectPool()
ファクトリを使用せずに新たなプールを生成します。 クライアントは 取得 を行う前にあらかじめ returnObject(java.lang.Object,java.lang.Object) を使ってプールにインスタンスを登録しておく必要があります。


StackKeyedObjectPool

public StackKeyedObjectPool(int max)
ファクトリを使用せずに新たなプールを生成します。 クライアントは 取得 を行う前にあらかじめ returnObject(java.lang.Object,java.lang.Object) を使ってプールにインスタンスを登録しておく必要があります。

パラメータ:
max - プール内の"休止した状態の"インスタンスの数の上限

StackKeyedObjectPool

public StackKeyedObjectPool(int max,
                            int init)
ファクトリを使用せずに新たなプールを生成します。 クライアントは 取得 を行う前にあらかじめ returnObject(java.lang.Object,java.lang.Object) を使ってプールにインスタンスを登録しておく必要があります。

パラメータ:
max - プール内の"休止した状態の"インスタンスの数の上限
init - プールの初期サイズ (これは容量の大きさを指し、事前にプール内にインスタンスを生成するわけではありません)

StackKeyedObjectPool

public StackKeyedObjectPool(KeyedPoolableObjectFactory factory)
指定された factory を新規インスタンスの生成に使用する、新たな StackKeyedObjectPool を生成します。

パラメータ:
factory - プールで使用される KeyedPoolableObjectFactory

StackKeyedObjectPool

public StackKeyedObjectPool(KeyedPoolableObjectFactory factory,
                            int max)
指定された factory を新規インスタンスの生成に使用し、 "休止した状態の"インスタンスの数を max に制限する、新たな StackKeyedObjectPool を生成します。

パラメータ:
factory - プールで使用される KeyedPoolableObjectFactory
max - プール内の"休止した状態の"インスタンスの数の上限

StackKeyedObjectPool

public StackKeyedObjectPool(KeyedPoolableObjectFactory factory,
                            int max,
                            int init)
指定された factory を新規インスタンスの生成に使用し、 "休止した状態の"インスタンスの数を max に制限し、 初期化時に少なくとも init 個のインスタンスを格納できる容量を確保する、新たな StackKeyedObjectPool を生成します。

パラメータ:
factory - プールで使用される KeyedPoolableObjectFactory
max - プール内の"休止した状態の"インスタンスの数の上限
init - プールの初期サイズ (これは容量の大きさを指し、事前にプール内にインスタンスを生成するわけではありません)
メソッドの詳細

addObject

public void addObject(Object key)
               throws Exception
インタフェース KeyedObjectPool の記述:
自身のファクトリまたは他の実装に依存する機能によってプール内にオブジェクトを配置します。 addObject() は事前に準備されたオブジェクトをプール内に用意する際に有用です(オプショナルな処理)。

定義:
インタフェース KeyedObjectPool 内の addObject
オーバーライド:
クラス BaseKeyedObjectPool 内の addObject
例外:
Exception

borrowObject

public Object borrowObject(Object key)
                    throws Exception
インタフェース KeyedObjectPool の記述:
プールから指定された key に対応するインスタンスを取り出します。 プールからインスタンスを取得したクライアントは必ず returnObject または実装クラスやサブインターフェイスのそれと関連するメソッドを使用して インスタンスをプールに返さなくてはなりません。 また、 key には返すインスタンスを取得した際と同じ値を設定しなくてはなりません。

定義:
インタフェース KeyedObjectPool 内の borrowObject
定義:
クラス BaseKeyedObjectPool 内の borrowObject
例外:
Exception

clear

public void clear()
インタフェース KeyedObjectPool の記述:
全てのプールされたすべてのインスタンスを削除し、プールをクリアします(オプショナルな処理)。 このプールが削除の機能を持たない場合 UnsupportedOperationException が投げられます。

定義:
インタフェース KeyedObjectPool 内の clear
オーバーライド:
クラス BaseKeyedObjectPool 内の clear

clear

public void clear(Object key)
インタフェース KeyedObjectPool の記述:
全てのプールされたインスタンスを削除し、プールをクリアします(オプショナルな処理)。 このプールが削除の機能を持たない場合 UnsupportedOperationException が投げられます。

定義:
インタフェース KeyedObjectPool 内の clear
オーバーライド:
クラス BaseKeyedObjectPool 内の clear

close

public void close()
           throws Exception
インタフェース KeyedObjectPool の記述:
このプールを閉じ、関連する全てのリソースを開放します。

定義:
インタフェース KeyedObjectPool 内の close
オーバーライド:
クラス BaseKeyedObjectPool 内の close
例外:
Exception

getNumActive

public int getNumActive()
インタフェース KeyedObjectPool の記述:
このプールから取得され、まだ戻されていないインスタンスの数を返します(オプショナルな処理)。 この情報を取得する機能を持たない場合 UnsupportedOperationException が投げられます。

定義:
インタフェース KeyedObjectPool 内の getNumActive
オーバーライド:
クラス BaseKeyedObjectPool 内の getNumActive

getNumActive

public int getNumActive(Object key)
インタフェース KeyedObjectPool の記述:
このプールから取得され、まだ戻されていない指定された key に対応するインスタンスの数を返します(オプショナルな処理)。 この情報を取得する機能を持たない場合 UnsupportedOperationException が投げられます。

定義:
インタフェース KeyedObjectPool 内の getNumActive
オーバーライド:
クラス BaseKeyedObjectPool 内の getNumActive

getNumIdle

public int getNumIdle()
インタフェース KeyedObjectPool の記述:
現在プール内にある使用されていないインスタンスの数を返します(オプショナルな処理)。 この情報を取得する機能を持たない場合 UnsupportedOperationException が投げられます。

定義:
インタフェース KeyedObjectPool 内の getNumIdle
オーバーライド:
クラス BaseKeyedObjectPool 内の getNumIdle

getNumIdle

public int getNumIdle(Object key)
インタフェース KeyedObjectPool の記述:
現在プール内にある使用されていない指定された key に対応するインスタンスの数を返します(オプショナルな処理)。 この情報を取得する機能を持たない場合 UnsupportedOperationException が投げられます。

定義:
インタフェース KeyedObjectPool 内の getNumIdle
オーバーライド:
クラス BaseKeyedObjectPool 内の getNumIdle

invalidateObject

public void invalidateObject(Object key,
                             Object obj)
                      throws Exception
インタフェース KeyedObjectPool の記述:
プール内で管理されるオブジェクトを無効にします。 対象となる objborrowObject か、実装クラスに定義された関連するメソッドか、 key を用いたサブインターフェイスの同等の機能を持つメソッドによって取得されたものでなくてはなりません。

このメソッドはプールから取得されたオブジェクトが(例外等で)無効であるとみなされた場合に使用するべきです。 オブジェクト取得の前、もしくは戻された後にオブジェクトの評価を行う場合には PoolableObjectFactory.validateObject(java.lang.Object) を使用して下さい。

定義:
インタフェース KeyedObjectPool 内の invalidateObject
定義:
クラス BaseKeyedObjectPool 内の invalidateObject
例外:
Exception

returnObject

public void returnObject(Object key,
                         Object obj)
                  throws Exception
インタフェース KeyedObjectPool の記述:
プールにインスタンスを返します。 プールに返される obj は必ず borrowObject または実装クラスやサブインターフェイスのそれと関連するメソッドを使用して 取得されたインスタンスでなくてはなりません。 また、 key には返すインスタンスを取得した際と同じ値を設定しなくてはなりません。

定義:
インタフェース KeyedObjectPool 内の returnObject
定義:
クラス BaseKeyedObjectPool 内の returnObject
例外:
Exception

setFactory

public void setFactory(KeyedPoolableObjectFactory factory)
                throws IllegalStateException
インタフェース KeyedObjectPool の記述:
新たなインスタンスを生成するために使用する ファクトリ を設定します(オプショナルな処理)。

定義:
インタフェース KeyedObjectPool 内の setFactory
オーバーライド:
クラス BaseKeyedObjectPool 内の setFactory
例外:
IllegalStateException

toString

public String toString()


このドキュメントは、Ja-Jakartaにより訳されました。 コメントがある場合は report@jajakarta.orgまでお願いします。
Translated into Japanese by jajakarta.org. The original page is here.
Copyright (c) 2002-2003 - Apache Software Foundation