jp.livewell.baby.pool
インタフェース Wrapper

既知の実装クラスの一覧:
AbstractWrapper

public interface Wrapper

プールに格納されているインスタンスの受渡しに使用するinterfaceです。

作成者:
mitsuhito

メソッドの概要
 boolean activate(ComparisonKey key)
          このWrapperを有効化するときにPoolから呼び出されます。
 void destroy(ComparisonKey key)
          このWrapperを使用不可にし、確保しているリソースを直ちに開放し、 isWorkableをfalseに設定します。
 void init(PoolReference ref, ComparisonKey key)
          戻り先のPoolと比較用のkeyを与えてWrapperを初期化します。
 boolean isWorkable()
          このinstanceが使用可能であればtrueを戻します。
 boolean passivate(ComparisonKey key)
          このWrapperを無効化するときにPoolから呼び出されます。
 void release()
          このinstanceをPoolへ戻します。
 

メソッドの詳細

init

public void init(PoolReference ref,
                 ComparisonKey key)
戻り先のPoolと比較用のkeyを与えてWrapperを初期化します。1度初期化さ れたWrapperは2度以上の初期化を行なうとIllegalStateExceptionをthrowし ます。
パラメータ:
ref - 戻り先Poolへの参照
key - 戻り先Poolの保有する比較用key
例外:
java.lang.IllegalStateException - 既に初期化されている場合

isWorkable

public boolean isWorkable()
このinstanceが使用可能であればtrueを戻します。具体的にはdestroyを呼 び出されていない、activateされたinstanceで、initされている必要がある かどうかはWrapperの実装によって変わります。
戻り値:
instanceが使用可能であればtrue

activate

public boolean activate(ComparisonKey key)
                 throws java.lang.IllegalStateException,
                        java.lang.IllegalArgumentException
このWrapperを有効化するときにPoolから呼び出されます。成功すればtrue、 既に有効化されている場合はfalseが戻されます。内包するObjectが不正な (使用できない)場合はIllegalStateExceptionが、、keyが一致しない場合は IllegalArgumentExceptionがthrowされます。このメソッドはpingを呼び出 します。
パラメータ:
key - このWrapperを初期化したPoolの保有するComparisonKey
戻り値:
成功すればtrue、既に有効化されている場合はfalse。
例外:
java.lang.IllegalStateException - 内包するObjectが不正な(使用できない)場合
java.lang.IllegalArgumentException - keyが一致しない場合

passivate

public boolean passivate(ComparisonKey key)
                  throws java.lang.IllegalStateException,
                         java.lang.IllegalArgumentException
このWrapperを無効化するときにPoolから呼び出されます。成功すればtrue、 既に無効化されている場合はfalseが戻されます。keyが一致しない場合は IllegalArgumentExceptionがthrowされます。
パラメータ:
key - このWrapperを初期化したPoolの保有するComparisonKey
戻り値:
成功すればtrue、既に無効化されている場合はfalse。
例外:
java.lang.IllegalStateException - 復旧できない理由で無効化出来ない場合
java.lang.IllegalArgumentException - keyが一致しない場合

release

public void release()
このinstanceをPoolへ戻します。

destroy

public void destroy(ComparisonKey key)
このWrapperを使用不可にし、確保しているリソースを直ちに開放し、 isWorkableをfalseに設定します。通常このメソッドはPoolから呼ばれます。 destroyを呼び出された後のWrapperの動作は保証されません。 keyが一致しない場合はIllegalArgumentExceptionがthrowされます。
パラメータ:
key - このWrapperを初期化したPoolの保有するComparisonKey
例外:
java.lang.IllegalArgumentException - keyが一致しない場合