org.apache.commons.pool

Class PoolUtils

public final class PoolUtils extends Object

This class consists exclusively of static methods that operate on or return keyedPool related interfaces.

Since: Pool 1.3

Version: $Revision: 385296 $ $Date: 2006-03-12 10:28:08 -0500 (Sun, 12 Mar 2006) $

Author: Sandy McArthur

Constructor Summary
PoolUtils()
PoolUtils instances should NOT be constructed in standard programming.
Method Summary
static PoolableObjectFactoryadapt(KeyedPoolableObjectFactory keyedFactory)
Adapt a KeyedPoolableObjectFactory instance to work where a PoolableObjectFactory is needed.
static PoolableObjectFactoryadapt(KeyedPoolableObjectFactory keyedFactory, Object key)
Adapt a KeyedPoolableObjectFactory instance to work where a PoolableObjectFactory is needed using the specified key when delegating.
static KeyedPoolableObjectFactoryadapt(PoolableObjectFactory factory)
Adapt a PoolableObjectFactory instance to work where a KeyedPoolableObjectFactory is needed.
static ObjectPooladapt(KeyedObjectPool keyedPool)
Adapt a KeyedObjectPool instance to work where an ObjectPool is needed.
static ObjectPooladapt(KeyedObjectPool keyedPool, Object key)
Adapt a KeyedObjectPool instance to work where an ObjectPool is needed using the specified key when delegating.
static KeyedObjectPooladapt(ObjectPool pool)
Adapt an ObjectPool to work where an KeyedObjectPool is needed.
static ObjectPoolcheckedPool(ObjectPool pool, Class type)
Wraps an ObjectPool and dynamically checks the type of objects borrowed and returned to the keyedPool.
static KeyedObjectPoolcheckedPool(KeyedObjectPool keyedPool, Class type)
Wraps an KeyedObjectPool and dynamically checks the type of objects borrowed and returned to the keyedPool.
static TimerTaskcheckMinIdle(ObjectPool pool, int minIdle, long period)
Periodically check the idle object count for the keyedPool.
static TimerTaskcheckMinIdle(KeyedObjectPool keyedPool, Object key, int minIdle, long period)
Periodically check the idle object count for the key in the keyedPool.
static MapcheckMinIdle(KeyedObjectPool keyedPool, Collection keys, int minIdle, long period)
Periodically check the idle object count for each key in the Collection keys in the keyedPool.
static voidprefill(ObjectPool pool, int count)
Call addObject() on keyedPool count number of times.
static voidprefill(KeyedObjectPool keyedPool, Object key, int count)
Call addObject(Object) on keyedPool with key count number of times.
static voidprefill(KeyedObjectPool keyedPool, Collection keys, int count)
Call addObject(Object) on keyedPool with each key in keys for count number of times.
static ObjectPoolsynchronizedPool(ObjectPool pool)
Returns a synchronized (thread-safe) ObjectPool backed by the specified ObjectPool.
static KeyedObjectPoolsynchronizedPool(KeyedObjectPool keyedPool)
Returns a synchronized (thread-safe) KeyedObjectPool backed by the specified KeyedObjectPool.
static PoolableObjectFactorysynchronizedPoolableFactory(PoolableObjectFactory factory)
Returns a synchronized (thread-safe) PoolableObjectFactory backed by the specified PoolableObjectFactory.
static KeyedPoolableObjectFactorysynchronizedPoolableFactory(KeyedPoolableObjectFactory keyedFactory)
Returns a synchronized (thread-safe) KeyedPoolableObjectFactory backed by the specified KeyedPoolableObjectFactory.

Constructor Detail

PoolUtils

public PoolUtils()
PoolUtils instances should NOT be constructed in standard programming. Instead, the class should be used procedurally: PoolUtils.adapt(aPool);. This constructor is public to permit tools that require a JavaBean instance to operate.

Method Detail

adapt

public static PoolableObjectFactory adapt(KeyedPoolableObjectFactory keyedFactory)
Adapt a KeyedPoolableObjectFactory instance to work where a PoolableObjectFactory is needed. This method is the equivalent of calling PoolUtils.adapt(aKeyedPoolableObjectFactory, new Object()).

Parameters: keyedFactory the KeyedPoolableObjectFactory to delegate to.

Returns: a PoolableObjectFactory that delegates to keyedFactory with an internal key.

Throws: IllegalArgumentException when keyedFactory is null.

Since: Pool 1.3

See Also: PoolUtils

adapt

public static PoolableObjectFactory adapt(KeyedPoolableObjectFactory keyedFactory, Object key)
Adapt a KeyedPoolableObjectFactory instance to work where a PoolableObjectFactory is needed using the specified key when delegating.

Parameters: keyedFactory the KeyedPoolableObjectFactory to delegate to. key the key to use when delegating.

Returns: a PoolableObjectFactory that delegates to keyedFactory with the specified key.

Throws: IllegalArgumentException when keyedFactory or key is null.

Since: Pool 1.3

See Also: adapt

adapt

public static KeyedPoolableObjectFactory adapt(PoolableObjectFactory factory)
Adapt a PoolableObjectFactory instance to work where a KeyedPoolableObjectFactory is needed. The key is ignored.

Parameters: factory the PoolableObjectFactory to delegate to.

Returns: a KeyedPoolableObjectFactory that delegates to factory ignoring the key.

Throws: IllegalArgumentException when factory is null.

Since: Pool 1.3

adapt

public static ObjectPool adapt(KeyedObjectPool keyedPool)
Adapt a KeyedObjectPool instance to work where an ObjectPool is needed. This is the equivalent of calling PoolUtils.adapt(aKeyedObjectPool, new Object()).

Parameters: keyedPool the KeyedObjectPool to delegate to.

Returns: an ObjectPool that delegates to keyedPool with an internal key.

Throws: IllegalArgumentException when keyedPool is null.

Since: Pool 1.3

See Also: PoolUtils

adapt

public static ObjectPool adapt(KeyedObjectPool keyedPool, Object key)
Adapt a KeyedObjectPool instance to work where an ObjectPool is needed using the specified key when delegating.

Parameters: keyedPool the KeyedObjectPool to delegate to. key the key to use when delegating.

Returns: an ObjectPool that delegates to keyedPool with the specified key.

Throws: IllegalArgumentException when keyedPool or key is null.

Since: Pool 1.3

See Also: adapt

adapt

public static KeyedObjectPool adapt(ObjectPool pool)
Adapt an ObjectPool to work where an KeyedObjectPool is needed. The key is ignored.

Parameters: pool the ObjectPool to delegate to.

Returns: a KeyedObjectPool that delegates to keyedPool ignoring the key.

Throws: IllegalArgumentException when keyedPool is null.

Since: Pool 1.3

checkedPool

public static ObjectPool checkedPool(ObjectPool pool, Class type)
Wraps an ObjectPool and dynamically checks the type of objects borrowed and returned to the keyedPool. If an object is passed to the keyedPool that isn't of type type a ClassCastException will be thrown.

Parameters: pool the keyedPool to enforce type safety on

Returns: an ObjectPool that will only allow objects of type

Since: Pool 1.3

checkedPool

public static KeyedObjectPool checkedPool(KeyedObjectPool keyedPool, Class type)
Wraps an KeyedObjectPool and dynamically checks the type of objects borrowed and returned to the keyedPool. If an object is passed to the keyedPool that isn't of type type a ClassCastException will be thrown.

Parameters: keyedPool the keyedPool to enforce type safety on

Returns: an KeyedObjectPool that will only allow objects of type

Since: Pool 1.3

checkMinIdle

public static TimerTask checkMinIdle(ObjectPool pool, int minIdle, long period)
Periodically check the idle object count for the keyedPool. At most one idle object will be added per period. If there is an exception when calling addObject then no more checks will be performed.

Parameters: pool the keyedPool to check periodically. minIdle if the getNumIdle is less than this then add an idle object. period the frequency to check the number of idle objects in a keyedPool, see Timer#schedule(TimerTask, long, long).

Returns: the TimerTask that will periodically check the pools idle object count.

Throws: IllegalArgumentException when keyedPool is null or when minIdle is negative or when period isn't valid for Timer#schedule(TimerTask, long, long).

Since: Pool 1.3

checkMinIdle

public static TimerTask checkMinIdle(KeyedObjectPool keyedPool, Object key, int minIdle, long period)
Periodically check the idle object count for the key in the keyedPool. At most one idle object will be added per period. If there is an exception when calling addObject then no more checks for that key will be performed.

Parameters: keyedPool the keyedPool to check periodically. key the key to check the idle count of. minIdle if the getNumIdle is less than this then add an idle object. period the frequency to check the number of idle objects in a keyedPool, see Timer#schedule(TimerTask, long, long).

Returns: the TimerTask that will periodically check the pools idle object count.

Throws: IllegalArgumentException when keyedPool, key is null or when minIdle is negative or when period isn't valid for Timer#schedule(TimerTask, long, long).

Since: Pool 1.3

checkMinIdle

public static Map checkMinIdle(KeyedObjectPool keyedPool, Collection keys, int minIdle, long period)
Periodically check the idle object count for each key in the Collection keys in the keyedPool. At most one idle object will be added per period.

Parameters: keyedPool the keyedPool to check periodically. keys a collection of keys to check the idle object count. minIdle if the getNumIdle is less than this then add an idle object. period the frequency to check the number of idle objects in a keyedPool, see Timer#schedule(TimerTask, long, long).

Returns: a Map of key and TimerTask pairs that will periodically check the pools idle object count.

Throws: IllegalArgumentException when keyedPool, keys, or any of the values in the collection is null or when minIdle is negative or when period isn't valid for Timer#schedule(TimerTask, long, long).

Since: Pool 1.3

See Also: PoolUtils

prefill

public static void prefill(ObjectPool pool, int count)
Call addObject() on keyedPool count number of times.

Parameters: pool the keyedPool to prefill. count the number of idle objects to add.

Throws: Exception when addObject fails. IllegalArgumentException when keyedPool is null.

Since: Pool 1.3

prefill

public static void prefill(KeyedObjectPool keyedPool, Object key, int count)
Call addObject(Object) on keyedPool with key count number of times.

Parameters: keyedPool the keyedPool to prefill. key the key to add objects for. count the number of idle objects to add for key.

Throws: Exception when addObject fails. IllegalArgumentException when keyedPool or key is null.

Since: Pool 1.3

prefill

public static void prefill(KeyedObjectPool keyedPool, Collection keys, int count)
Call addObject(Object) on keyedPool with each key in keys for count number of times. This has the same effect as calling PoolUtils for each key in the keys collection.

Parameters: keyedPool the keyedPool to prefill. keys Collection of keys to add objects for. count the number of idle objects to add for each key.

Throws: Exception when addObject fails. IllegalArgumentException when keyedPool, keys, or any value in keys is null.

Since: Pool 1.3

See Also: PoolUtils

synchronizedPool

public static ObjectPool synchronizedPool(ObjectPool pool)
Returns a synchronized (thread-safe) ObjectPool backed by the specified ObjectPool.

Parameters: pool the ObjectPool to be "wrapped" in a synchronized ObjectPool.

Returns: a synchronized view of the specified ObjectPool.

Since: Pool 1.3

synchronizedPool

public static KeyedObjectPool synchronizedPool(KeyedObjectPool keyedPool)
Returns a synchronized (thread-safe) KeyedObjectPool backed by the specified KeyedObjectPool.

Parameters: keyedPool the KeyedObjectPool to be "wrapped" in a synchronized KeyedObjectPool.

Returns: a synchronized view of the specified KeyedObjectPool.

Since: Pool 1.3

synchronizedPoolableFactory

public static PoolableObjectFactory synchronizedPoolableFactory(PoolableObjectFactory factory)
Returns a synchronized (thread-safe) PoolableObjectFactory backed by the specified PoolableObjectFactory.

Parameters: factory the PoolableObjectFactory to be "wrapped" in a synchronized PoolableObjectFactory.

Returns: a synchronized view of the specified PoolableObjectFactory.

Since: Pool 1.3

synchronizedPoolableFactory

public static KeyedPoolableObjectFactory synchronizedPoolableFactory(KeyedPoolableObjectFactory keyedFactory)
Returns a synchronized (thread-safe) KeyedPoolableObjectFactory backed by the specified KeyedPoolableObjectFactory.

Parameters: keyedFactory the KeyedPoolableObjectFactory to be "wrapped" in a synchronized KeyedPoolableObjectFactory.

Returns: a synchronized view of the specified KeyedPoolableObjectFactory.

Since: Pool 1.3

Copyright © 2001-2003 Apache Software Foundation. Documenation generated August 23 2012.