org.nakedobjects.runtime.transaction
Class NakedObjectTransactionAbstract

java.lang.Object
  extended by org.nakedobjects.runtime.transaction.NakedObjectTransactionAbstract
All Implemented Interfaces:
Component, TransactionScopedComponent, NakedObjectTransaction
Direct Known Subclasses:
NakedObjectTransactionDefault, ObjectStoreTransaction

public abstract class NakedObjectTransactionAbstract
extends java.lang.Object
implements NakedObjectTransaction


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.nakedobjects.runtime.transaction.NakedObjectTransaction
NakedObjectTransaction.State
 
Constructor Summary
NakedObjectTransactionAbstract(NakedObjectTransactionManager transactionManager, MessageBroker messageBroker, UpdateNotifier updateNotifier)
           
 
Method Summary
 void abort()
           
protected  ToString appendTo(ToString str)
           
 void commit()
           
protected abstract  void doAbort()
          Mandatory hook method for subclasses to perform additional processing on abort.
protected abstract  void doFlush()
          Mandatory hook method for subclasses to persist all pending changes.
 void flush()
           
 java.lang.RuntimeException getAbortCause()
          The cause (if any) for the transaction being aborted.
 MessageBroker getMessageBroker()
          Injected in constructor
 NakedObjectTransaction.State getState()
          The state of this transaction.
 NakedObjectTransactionManager getTransactionManager()
          Injected in constructor
 UpdateNotifier getUpdateNotifier()
          Injected in constructor
protected  void setAbortCause(java.lang.RuntimeException cause)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

NakedObjectTransactionAbstract

public NakedObjectTransactionAbstract(NakedObjectTransactionManager transactionManager,
                                      MessageBroker messageBroker,
                                      UpdateNotifier updateNotifier)
Method Detail

getState

public NakedObjectTransaction.State getState()
Description copied from interface: NakedObjectTransaction
The state of this transaction.

Specified by:
getState in interface NakedObjectTransaction

flush

public final void flush()

commit

public final void commit()

abort

public final void abort()

doFlush

protected abstract void doFlush()
Mandatory hook method for subclasses to persist all pending changes.

Called by both commit() and by flush():

called fromnext state if oknext state if exception
commit()State#COMMITTEDState#ABORTED
flush()State#IN_PROGRESSState#MUST_ABORT


doAbort

protected abstract void doAbort()
Mandatory hook method for subclasses to perform additional processing on abort.

After this call the state will always be set to State#ABORTED, irrespective of whether an exception is thrown or not.


setAbortCause

protected void setAbortCause(java.lang.RuntimeException cause)

getAbortCause

public java.lang.RuntimeException getAbortCause()
The cause (if any) for the transaction being aborted.

There will be a cause if an exception is thrown either by doFlush() or doAbort().

Specified by:
getAbortCause in interface NakedObjectTransaction

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

appendTo

protected ToString appendTo(ToString str)

getTransactionManager

public NakedObjectTransactionManager getTransactionManager()
Injected in constructor

Specified by:
getTransactionManager in interface NakedObjectTransaction

getMessageBroker

public MessageBroker getMessageBroker()
Injected in constructor

Specified by:
getMessageBroker in interface NakedObjectTransaction

getUpdateNotifier

public UpdateNotifier getUpdateNotifier()
Injected in constructor

Specified by:
getUpdateNotifier in interface NakedObjectTransaction


Copyright © 2001-2009 Naked Objects Group Ltd.. All Rights Reserved.