org.exolab.castor.persist
Interface DepositBox

All Known Implementing Classes:
ObjectLock

public interface DepositBox

DepositBox is an interface for ClassMolder to access the dirty checking cache of an object.

Checking for accessMode will be done to each access of the DepositBox. Only if a transaction has write access may setObject() or IllegalArgumentException will be thrown.

Only if a transaction with read or write access may call getObject(). Multiple transactions may own read access of the same DespositBox at the same time. Only one transaction may own write access at any given time.

Every time setObject() is called, the internal timestamp will be updated.

Author:
Thomas Yip

Method Summary
 java.lang.Object getObject(TransactionContext tx)
          Get the object from the DespositBox, only the transaction have the read or write lock can get it.
 long getTimeStamp()
          Get the time of the most recent call on setObject(Object)}.
 void setObject(TransactionContext tx, java.lang.Object object)
          Set an object into the DespositBox, only a transaction has the write lock may call it method or IllegalArgumentException will be thrown.
 

Method Detail

setObject

void setObject(TransactionContext tx,
               java.lang.Object object)
Set an object into the DespositBox, only a transaction has the write lock may call it method or IllegalArgumentException will be thrown.

Parameters:
tx - the transaction in action
object - to be store into deposit box

getObject

java.lang.Object getObject(TransactionContext tx)
Get the object from the DespositBox, only the transaction have the read or write lock can get it.

Parameters:
tx - the transaction in action
Returns:
An object instance.

getTimeStamp

long getTimeStamp()
Get the time of the most recent call on setObject(Object)}.

Returns:
The timestamp of this object.


Intalio Inc. (C) 1999-2004. All rights reserved http://www.intalio.com