public final class SoftUnboundedPool<T,P> extends Object implements IParameterizedPool<T,P>
SoftReferences, so they can be garbage collected when memory is needed.| Constructor and Description |
|---|
SoftUnboundedPool() |
| Modifier and Type | Method and Description |
|---|---|
<I extends T> |
borrowObject(Class<I> clazz,
P parameter)
Borrows an object from the pool.
|
void |
dispose()
Disposes of the pool.
|
void |
init(IInstantiationListener<T,P> objectInstantiationListener,
IActivationListener<T,P> objectActivationListener,
IPassivationListener<T,P> objectPassivationListener,
IDisposalListener<T,P> objectDisposalListener)
Initializes the pool with a number of listeners.
|
void |
returnObject(T object,
P parameter)
Returns an object to the pool.
|
public void init(IInstantiationListener<T,P> objectInstantiationListener, IActivationListener<T,P> objectActivationListener, IPassivationListener<T,P> objectPassivationListener, IDisposalListener<T,P> objectDisposalListener)
IParameterizedPoolinit in interface IParameterizedPool<T,P>public <I extends T> I borrowObject(Class<I> clazz, P parameter) throws InstantiationException, IllegalAccessException
IParameterizedPoolborrowObject in interface IParameterizedPool<T,P>clazz - class of object to be borrowedparameter - additional parameter determining a possible sub type within the
same class of objects being borrowed. A combination of class and
parameter uniquely identifies a "class" (equivalence class) of pooled
objects. The parameter is assumed to correctly implement the
Object.equals(Object) and Object.hashCode() methods. The
parameter can be null. The implementation must pass the
parameter to all listeners when managing the life cycle of the pooled
object. It is the callers responsibility to ensure that exactly the same
value of the parameter is passed to the corresponding
IParameterizedPool.borrowObject(Class, Object) and
IParameterizedPool.returnObject(Object, Object) methods.InstantiationExceptionIllegalAccessExceptionpublic void returnObject(T object, P parameter)
IParameterizedPoolreturnObject in interface IParameterizedPool<T,P>object - object to returnparameter - parameter provided when borrowing the object. If the parameter was
not null when borrowing the object, the same value will be
passed here.public void dispose()
IParameterizedPooldispose in interface IParameterizedPool<T,P>