org.gcube.data.spd.obisplugin.pool
Class ObjectPool<T>

java.lang.Object
  extended by org.gcube.data.spd.obisplugin.pool.ObjectPool<T>
Direct Known Subclasses:
JDBCConnectionPool, PluginSessionPool

public abstract class ObjectPool<T>
extends Object

Author:
"Federico De Faveri defaveri@isti.cnr.it" Adapted from http://sourcemaking.com/design_patterns/object_pool/java

Field Summary
protected  boolean closed
           
protected  long expirationTime
           
protected  Hashtable<T,Long> locked
           
protected  Hashtable<T,Long> unlocked
           
 
Constructor Summary
ObjectPool(long expirationTime)
           
 
Method Summary
 void checkIn(T t)
           
 T checkOut()
           
protected abstract  T create()
           
protected abstract  void expire(T o)
           
 void expireAllLocked()
           
 void expireAllUnlocked()
           
 void shutdown(boolean force)
           
protected abstract  boolean validate(T o)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

expirationTime

protected long expirationTime

locked

protected Hashtable<T,Long> locked

unlocked

protected Hashtable<T,Long> unlocked

closed

protected boolean closed
Constructor Detail

ObjectPool

public ObjectPool(long expirationTime)
Method Detail

create

protected abstract T create()

validate

protected abstract boolean validate(T o)

expire

protected abstract void expire(T o)

checkOut

public T checkOut()

checkIn

public void checkIn(T t)

shutdown

public void shutdown(boolean force)

expireAllUnlocked

public void expireAllUnlocked()

expireAllLocked

public void expireAllLocked()


Copyright © 2012. All Rights Reserved.