org.restlet.engine.util
Class Pool<T>

java.lang.Object
  extended by org.restlet.engine.util.Pool<T>
Type Parameters:
T -
Direct Known Subclasses:
ConnectionPool

public abstract class Pool<T>
extends Object

Generic object pool.

Author:
Jerome Louvel

Constructor Summary
Pool()
          Default constructor.
Pool(int initialSize)
          Constructor.
 
Method Summary
 void checkin(T object)
          Checks in an object into the pool.
 T checkout()
          Checks out an object from the pool.
 void clear()
          Clears the store of reusable objects.
protected  void clear(T object)
          Clears the given object when it is checked in the pool.
protected abstract  T createObject()
          Creates a new reusable object.
protected  Queue<T> createStore()
          Creates the store of reusable objects.
protected  Queue<T> getStore()
          Returns the store containing the reusable objects.
 void preCreate(int initialSize)
          Pre-creates the initial objects using the createObject() method and check them in the pool using the checkin(Object) method.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Pool

public Pool()
Default constructor.


Pool

public Pool(int initialSize)
Constructor. Pre-creates the minimum number of objects if needed using the preCreate(int) method.

Parameters:
initialSize - The initial number of objects in the pool.
Method Detail

checkin

public void checkin(T object)
Checks in an object into the pool.

Parameters:
object - The object to check in.

checkout

public T checkout()
Checks out an object from the pool. Creates a new one if the pool is empty.

Returns:
An object from the pool.

clear

public void clear()
Clears the store of reusable objects.


clear

protected void clear(T object)
Clears the given object when it is checked in the pool. Does nothing by default.

Parameters:
object - The object to clear.

createObject

protected abstract T createObject()
Creates a new reusable object.

Returns:
A new reusable object.

createStore

protected Queue<T> createStore()
Creates the store of reusable objects.

Returns:
The store of reusable objects.

getStore

protected Queue<T> getStore()
Returns the store containing the reusable objects.

Returns:
The store containing the reusable objects.

preCreate

public void preCreate(int initialSize)
Pre-creates the initial objects using the createObject() method and check them in the pool using the checkin(Object) method.

Parameters:
initialSize - The initial number of objects.


Copyright © 2005-2013 Restlet.