org.apache.xml.utils
Class ObjectPool

java.lang.Object
  extended by org.apache.xml.utils.ObjectPool
All Implemented Interfaces:
java.io.Serializable

public class ObjectPool
extends java.lang.Object
implements java.io.Serializable

Pool of object of a given type to pick from to help memory usage

See Also:
Serialized Form

Field Summary
private  java.util.ArrayList freeStack
          Stack of given objects this points to.
private  java.lang.Class objectType
          Type of objects in this pool.
(package private) static long serialVersionUID
           
 
Constructor Summary
ObjectPool()
          Constructor ObjectPool
ObjectPool(java.lang.Class type)
          Constructor ObjectPool
ObjectPool(java.lang.Class type, int size)
          Constructor ObjectPool
ObjectPool(java.lang.String className)
          Constructor ObjectPool
 
Method Summary
 void freeInstance(java.lang.Object obj)
          Add an instance of the given object to the pool
 java.lang.Object getInstance()
          Get an instance of the given object in this pool
 java.lang.Object getInstanceIfFree()
          Get an instance of the given object in this pool if available
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

serialVersionUID

static final long serialVersionUID
See Also:
Constant Field Values

objectType

private final java.lang.Class objectType
Type of objects in this pool.


freeStack

private final java.util.ArrayList freeStack
Stack of given objects this points to.

Constructor Detail

ObjectPool

public ObjectPool(java.lang.Class type)
Constructor ObjectPool

Parameters:
type - Type of objects for this pool

ObjectPool

public ObjectPool(java.lang.String className)
Constructor ObjectPool

Parameters:
className - Fully qualified name of the type of objects for this pool.

ObjectPool

public ObjectPool(java.lang.Class type,
                  int size)
Constructor ObjectPool

Parameters:
type - Type of objects for this pool
size - Size of vector to allocate

ObjectPool

public ObjectPool()
Constructor ObjectPool

Method Detail

getInstanceIfFree

public java.lang.Object getInstanceIfFree()
Get an instance of the given object in this pool if available

Returns:
an instance of the given object if available or null

getInstance

public java.lang.Object getInstance()
Get an instance of the given object in this pool

Returns:
An instance of the given object

freeInstance

public void freeInstance(java.lang.Object obj)
Add an instance of the given object to the pool

Parameters:
obj - Object to add.