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 static org.gcube.common.core.utils.logging.GCUBELog logger
           
protected  String name
           
protected  Hashtable<T,Long> unlocked
           
 
Constructor Summary
ObjectPool(String name, 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)
           
 String toString()
          
protected abstract  boolean validate(T o)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

logger

protected static org.gcube.common.core.utils.logging.GCUBELog logger

expirationTime

protected long expirationTime

locked

protected Hashtable<T,Long> locked

unlocked

protected Hashtable<T,Long> unlocked

closed

protected boolean closed

name

protected String name
Constructor Detail

ObjectPool

public ObjectPool(String name,
                  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()

toString

public String toString()

Overrides:
toString in class Object


Copyright © 2013. All Rights Reserved.