velosurf.sql
Class Pooled

java.lang.Object
  extended by velosurf.sql.Pooled
Direct Known Subclasses:
PooledPreparedStatement, PooledStatement

public abstract class Pooled
extends java.lang.Object

this abstract class represents a pooled object.

It has two booleans : inUse and useOver (understand : usageOver).

The cycle of those two booleans is the following :

states (inUse - useOver) : (false-false) -> (true-false) -> (true-true) -> [delay] (false-false)

Author:
Claude Brisson

Field Summary
protected  boolean inUse
          is this object in use ?
protected  long tagTime
          time tag
protected  boolean useOver
          is the usage of this object over ?
protected  boolean valid
          valid statement ?
 
Constructor Summary
Pooled()
          builds a new pooled object
 
Method Summary
abstract  void close()
          close this pooled object
abstract  ConnectionWrapper getConnection()
          get the connection used by this statement
 long getTagTime()
          get the time tag of this pooled object
 boolean isInUse()
          checks whether this pooled object is in use
 boolean isValid()
          checks whether this pooled object is marked as valid or invalid (used in the recovery process)
 void notifyInUse()
          notify this object that it is in use
 void notifyOver()
          notify this object that it is no more in use
 void resetTagTime()
          reset the time tag
 void setInvalid()
          definitely mark this statement as meant to be deleted
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

tagTime

protected long tagTime
time tag


valid

protected boolean valid
valid statement ?


inUse

protected boolean inUse
is this object in use ?


useOver

protected boolean useOver
is the usage of this object over ?

Constructor Detail

Pooled

public Pooled()
builds a new pooled object

Method Detail

getTagTime

public long getTagTime()
get the time tag of this pooled object

Returns:
the time tag

resetTagTime

public void resetTagTime()
reset the time tag


notifyInUse

public void notifyInUse()
notify this object that it is in use


notifyOver

public void notifyOver()
notify this object that it is no more in use


isInUse

public boolean isInUse()
checks whether this pooled object is in use

Returns:
whether this object is in use

isValid

public boolean isValid()
checks whether this pooled object is marked as valid or invalid (used in the recovery process)

Returns:
whether this object is in use

setInvalid

public void setInvalid()
definitely mark this statement as meant to be deleted


getConnection

public abstract ConnectionWrapper getConnection()
get the connection used by this statement

Returns:
the connection used by this statement

close

public abstract void close()
                    throws java.sql.SQLException
close this pooled object

Throws:
java.sql.SQLException - when thrown by the database engine


~ooOoo~