org.objectweb.speedo.workingset.jdo.lib
Class JDOTransactionImpl

java.lang.Object
  extended by org.objectweb.perseus.persistence.lib.BasicWorkingSet
      extended by org.objectweb.speedo.workingset.lib.AbstractTransaction
          extended by org.objectweb.speedo.workingset.jdo.lib.JDOTransactionImpl
All Implemented Interfaces:
Transaction, BindingController, LifeCycleController, TransactionalWorkingSet, WorkingSet, TransactionItf, JDOTransactionItf

public class JDOTransactionImpl
extends AbstractTransaction
implements JDOTransactionItf

Is a working set assocaited to a POManagerItf. The working set can be transactional or not. It contains the list of reached instances.

Author:
S.Chassande-Barrioz
See Also:
Transaction, JDOTransactionItf, WorkingSet, BasicWorkingSet

Field Summary
 
Fields inherited from class org.objectweb.speedo.workingset.lib.AbstractTransaction
COMPONENT_BINDING, managedEnv, mapper, MAPPER_BINDING, nontransactionalRead, nontransactionalWrite, optimistic, pm, PO_MANAGER_BINDING, rollbackOnly, synchronization, thisT, tpm, TRANSACTIONAL_PERSISTENCE_MANAGER_BINDING, txListener
 
Fields inherited from class org.objectweb.perseus.persistence.lib.BasicWorkingSet
connectionHolder, logger, objectSharing, oid2state, restoreValues, retainValues, rollBackOnly, status, userObject
 
Fields inherited from interface org.objectweb.perseus.persistence.api.TransactionalWorkingSet
CTX_ABORTED, CTX_ACTIVE_TRANSACTIONAL, CTX_COMMITTED, CTX_PREPARED, CTX_PREPARED_FAIL, CTX_PREPARED_OK
 
Fields inherited from interface org.objectweb.perseus.persistence.api.WorkingSet
CTX_ACTIVE, CTX_CLOSED, READ_INTENTION, UNKNOWN_INTENTION, WRITE_INTENTION
 
Fields inherited from interface org.objectweb.fractal.api.control.LifeCycleController
STARTED, STOPPED
 
Constructor Summary
JDOTransactionImpl()
           
 
Method Summary
 void beforeWSPrepare()
          Invalidates the prefetch buffer associated to this working set.
 void begin()
          Starts the transaction.
 void commit()
          Commits the transaction.
 boolean getNontransactionalRead()
           
 boolean getNontransactionalWrite()
           
 boolean getOptimistic()
           
 PersistenceManager getPersistenceManager()
           
 boolean getRestoreValues()
           
 boolean getRetainValues()
           
 javax.transaction.Synchronization getSynchronization()
           
 void onWSEnd()
          Signal to the persistent instances reached in the working set that the current working set is closed.
 void rollback()
          Rolles back the transaction.
 java.lang.RuntimeException rollBackOnInternalError(java.lang.Exception _e)
           
 void setNontransactionalRead(boolean b)
           
 void setNontransactionalWrite(boolean b)
           
 void setOptimistic(boolean b)
           
 void setRestoreValues(boolean b)
           
 void setRetainValues(boolean b)
           
 void setSynchronization(javax.transaction.Synchronization s)
           
 
Methods inherited from class org.objectweb.speedo.workingset.lib.AbstractTransaction
activate, bind, bindFc, getFcState, getPOManager, getRollbackOnly, isActive, isManagedEnv, listFc, lookupFc, setConnectionHolder, setRollbackOnly, setStatus, startFc, stopFc, unbindFc
 
Methods inherited from class org.objectweb.perseus.persistence.lib.BasicWorkingSet
clear, entries, getConnectionHolder, getOid2Entry, getStatus, getUserObject, getWSObjectSharing, getWSRestoreValues, getWSRetainValues, getWSRollBackOnly, lookup, oids, setWSObjectSharing, setWSRestoreValues, setWSRetainValues, setWSRollBackOnly, unbind
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.jdo.Transaction
getRollbackOnly, isActive, setRollbackOnly
 
Methods inherited from interface org.objectweb.speedo.workingset.api.TransactionItf
activate, getPOManager, getRollbackOnly, isActive, isManagedEnv, setConnectionHolder, setRollbackOnly
 
Methods inherited from interface org.objectweb.perseus.persistence.api.TransactionalWorkingSet
getWSRollBackOnly, setWSRollBackOnly
 
Methods inherited from interface org.objectweb.perseus.persistence.api.WorkingSet
bind, clear, entries, getConnectionHolder, getOid2Entry, getStatus, getUserObject, getWSObjectSharing, getWSRestoreValues, getWSRetainValues, lookup, oids, setStatus, setWSObjectSharing, setWSRestoreValues, setWSRetainValues, unbind
 

Constructor Detail

JDOTransactionImpl

public JDOTransactionImpl()
Method Detail

rollBackOnInternalError

public java.lang.RuntimeException rollBackOnInternalError(java.lang.Exception _e)
Specified by:
rollBackOnInternalError in interface TransactionItf

beforeWSPrepare

public void beforeWSPrepare()
                     throws PersistenceException
Description copied from class: AbstractTransaction
Invalidates the prefetch buffer associated to this working set.

Overrides:
beforeWSPrepare in class AbstractTransaction
Throws:
PersistenceException

onWSEnd

public void onWSEnd()
Description copied from class: AbstractTransaction
Signal to the persistent instances reached in the working set that the current working set is closed. Some actions on persistent instances at this time can be done, such as reference unswizlling

Overrides:
onWSEnd in class AbstractTransaction

begin

public void begin()
Description copied from interface: TransactionItf
Starts the transaction.

Specified by:
begin in interface Transaction
Specified by:
begin in interface TransactionItf
Overrides:
begin in class AbstractTransaction
See Also:
TransactionItf.begin()

commit

public void commit()
Description copied from interface: TransactionItf
Commits the transaction.

Specified by:
commit in interface Transaction
Specified by:
commit in interface TransactionItf
Overrides:
commit in class AbstractTransaction
See Also:
TransactionItf.commit()

rollback

public void rollback()
Description copied from interface: TransactionItf
Rolles back the transaction.

Specified by:
rollback in interface Transaction
Specified by:
rollback in interface TransactionItf
Overrides:
rollback in class AbstractTransaction
See Also:
TransactionItf.rollback()

setNontransactionalRead

public void setNontransactionalRead(boolean b)
Specified by:
setNontransactionalRead in interface Transaction

getNontransactionalRead

public boolean getNontransactionalRead()
Specified by:
getNontransactionalRead in interface Transaction

setNontransactionalWrite

public void setNontransactionalWrite(boolean b)
Specified by:
setNontransactionalWrite in interface Transaction

getNontransactionalWrite

public boolean getNontransactionalWrite()
Specified by:
getNontransactionalWrite in interface Transaction

setRetainValues

public void setRetainValues(boolean b)
Specified by:
setRetainValues in interface Transaction

getRetainValues

public boolean getRetainValues()
Specified by:
getRetainValues in interface Transaction

setRestoreValues

public void setRestoreValues(boolean b)
Specified by:
setRestoreValues in interface Transaction

getRestoreValues

public boolean getRestoreValues()
Specified by:
getRestoreValues in interface Transaction

setOptimistic

public void setOptimistic(boolean b)
Specified by:
setOptimistic in interface Transaction

getOptimistic

public boolean getOptimistic()
Specified by:
getOptimistic in interface Transaction

setSynchronization

public void setSynchronization(javax.transaction.Synchronization s)
Specified by:
setSynchronization in interface Transaction

getSynchronization

public javax.transaction.Synchronization getSynchronization()
Specified by:
getSynchronization in interface Transaction

getPersistenceManager

public PersistenceManager getPersistenceManager()
Specified by:
getPersistenceManager in interface Transaction