org.apache.avalon.excalibur.pool
Class SingleThreadedPool

java.lang.Object
  |
  +--org.apache.avalon.excalibur.pool.SingleThreadedPool
All Implemented Interfaces:
org.apache.avalon.framework.component.Component, Pool, Resizable, org.apache.avalon.framework.thread.SingleThreaded

public class SingleThreadedPool
extends java.lang.Object
implements Pool, org.apache.avalon.framework.thread.SingleThreaded, Resizable

This is an Pool that caches Poolable objects for reuse.

Since:
4.0
Version:
CVS $Revision: 1.7 $ $Date: 2001/12/26 16:15:22 $
Author:
Berin Loritsch, Stefano Mazzocchi, Peter Donald

Field Summary
protected  PoolController m_controller
           
protected  int m_count
           
protected  ObjectFactory m_factory
           
protected  int m_initial
           
protected  int m_maximum
           
protected  Poolable[] m_pool
           
 
Constructor Summary
SingleThreadedPool(java.lang.Class clazz, int initial, int maximum)
           
SingleThreadedPool(ObjectFactory factory, PoolController controller, int initial, int maximum)
           
 
Method Summary
 void fill(int fillSize)
          This fills the pool to the size specified in parameter.
 Poolable get()
          Retrieve an object from pool.
 int getCapacity()
          Return the total number of slots in Pool
 int getSize()
          Deprecated. use the official size() method instead
 void grow(int increase)
          This fills the pool by the size specified in parameter.
 void initialize()
           
 void put(Poolable poolable)
          Place an object in pool.
 void shrink(int decrease)
          This shrinks the pool by parameter size.
 int size()
          Get the number of used slots in Pool
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_count

protected int m_count

m_pool

protected Poolable[] m_pool

m_factory

protected ObjectFactory m_factory

m_controller

protected PoolController m_controller

m_maximum

protected int m_maximum

m_initial

protected int m_initial
Constructor Detail

SingleThreadedPool

public SingleThreadedPool(java.lang.Class clazz,
                          int initial,
                          int maximum)
                   throws java.lang.Exception

SingleThreadedPool

public SingleThreadedPool(ObjectFactory factory,
                          PoolController controller,
                          int initial,
                          int maximum)
                   throws java.lang.Exception
Method Detail

initialize

public void initialize()
                throws java.lang.Exception

get

public Poolable get()
             throws java.lang.Exception
Retrieve an object from pool.
Specified by:
get in interface Pool
Returns:
an object from Pool

put

public void put(Poolable poolable)
Place an object in pool.
Specified by:
put in interface Pool
Parameters:
poolable - the object to be placed in pool

getCapacity

public final int getCapacity()
Return the total number of slots in Pool
Returns:
the total number of slots

getSize

public final int getSize()
Deprecated. use the official size() method instead

Get the number of used slots in Pool
Returns:
the number of used slots

size

public final int size()
Get the number of used slots in Pool
Returns:
the number of used slots

fill

public final void fill(int fillSize)
                throws java.lang.Exception
This fills the pool to the size specified in parameter.

grow

public final void grow(int increase)
This fills the pool by the size specified in parameter.
Specified by:
grow in interface Resizable

shrink

public final void shrink(int decrease)
This shrinks the pool by parameter size.
Specified by:
shrink in interface Resizable


Copyright © 2001 Apache Jakarta Project. All Rights Reserved.