com.atomikos.icatch.imp
Class AbstractCompositeTransaction

java.lang.Object
  extended by com.atomikos.icatch.imp.AbstractCompositeTransaction
All Implemented Interfaces:
Stateful<TxState>, CompositeTransaction, Serializable
Direct Known Subclasses:
CompositeTransactionAdaptor, CompositeTransactionImp

public abstract class AbstractCompositeTransaction
extends Object
implements CompositeTransaction, Serializable

An abstract base implementation of CompositeTransaction, for common behaviour of both proxy and local instances.

See Also:
Serialized Form

Field Summary
protected  Stack<CompositeTransaction> lineage_
           
protected  Properties properties_
           
protected  boolean serial_
           
protected  HeuristicMessage tag_
           
protected  String tid_
           
 
Constructor Summary
AbstractCompositeTransaction()
          Required for externalization of subclasses
AbstractCompositeTransaction(String tid, Stack<CompositeTransaction> lineage, boolean serial)
          Constructor.
 
Method Summary
 RecoveryCoordinator addParticipant(Participant participant)
           
 void addSubTxAwareParticipant(SubTxAwareParticipant subtxaware)
           
 void commit()
           
 CompositeTransaction createSubTransaction()
           
 boolean equals(Object obj)
           
 CompositeCoordinator getCompositeCoordinator()
           
 Extent getExtent()
           
 Stack<CompositeTransaction> getLineage()
           
 int getLocalSubTxCount()
           
 Properties getProperties()
           
 String getProperty(String name)
           
 TxState getState()
           
 String getTid()
           
 long getTimeout()
           
 TransactionControl getTransactionControl()
           
 int hashCode()
           
 boolean isAncestorOf(CompositeTransaction ct)
           
 boolean isDescendantOf(CompositeTransaction ct)
           
 boolean isLocal()
           
 boolean isRelatedTransaction(CompositeTransaction ct)
           
 boolean isRoot()
           
 boolean isSameTransaction(CompositeTransaction ct)
           
 boolean isSerial()
           
 void registerSynchronization(Synchronization sync)
           
 void rollback()
           
 void setProperty(String name, String value)
           
 void setRollbackOnly()
           
 void setSerial()
           
 void setTag(HeuristicMessage tag)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

lineage_

protected Stack<CompositeTransaction> lineage_

tid_

protected String tid_

serial_

protected boolean serial_

tag_

protected HeuristicMessage tag_

properties_

protected Properties properties_
Constructor Detail

AbstractCompositeTransaction

public AbstractCompositeTransaction()
Required for externalization of subclasses


AbstractCompositeTransaction

public AbstractCompositeTransaction(String tid,
                                    Stack<CompositeTransaction> lineage,
                                    boolean serial)
Constructor.

Method Detail

getTid

public String getTid()
Specified by:
getTid in interface CompositeTransaction
See Also:
CompositeTransaction.

setTag

public void setTag(HeuristicMessage tag)
Specified by:
setTag in interface CompositeTransaction
See Also:
CompositeTransaction.

isSerial

public boolean isSerial()
Specified by:
isSerial in interface CompositeTransaction
See Also:
CompositeTransaction.

isLocal

public boolean isLocal()
Specified by:
isLocal in interface CompositeTransaction
See Also:
Defaults to false.

getTransactionControl

public TransactionControl getTransactionControl()
                                         throws UnsupportedOperationException
Specified by:
getTransactionControl in interface CompositeTransaction
Throws:
UnsupportedOperationException
See Also:
CompositeTransaction.

addParticipant

public RecoveryCoordinator addParticipant(Participant participant)
                                   throws SysException,
                                          IllegalStateException
Specified by:
addParticipant in interface CompositeTransaction
Throws:
SysException
IllegalStateException
See Also:
CompositeTransaction

registerSynchronization

public void registerSynchronization(Synchronization sync)
                             throws IllegalStateException,
                                    UnsupportedOperationException,
                                    SysException
Specified by:
registerSynchronization in interface CompositeTransaction
Throws:
IllegalStateException
UnsupportedOperationException
SysException
See Also:
CompositeTransaction

getLineage

public Stack<CompositeTransaction> getLineage()
Specified by:
getLineage in interface CompositeTransaction
See Also:
CompositeTransaction.

isRoot

public boolean isRoot()
Specified by:
isRoot in interface CompositeTransaction
See Also:
CompositeTransaction.

isAncestorOf

public boolean isAncestorOf(CompositeTransaction ct)
Specified by:
isAncestorOf in interface CompositeTransaction
See Also:
CompositeTransaction.

isDescendantOf

public boolean isDescendantOf(CompositeTransaction ct)
Specified by:
isDescendantOf in interface CompositeTransaction
See Also:
CompositeTransaction.

isRelatedTransaction

public boolean isRelatedTransaction(CompositeTransaction ct)
Specified by:
isRelatedTransaction in interface CompositeTransaction
See Also:
CompositeTransaction.

isSameTransaction

public boolean isSameTransaction(CompositeTransaction ct)
Specified by:
isSameTransaction in interface CompositeTransaction
See Also:
CompositeTransaction.

hashCode

public int hashCode()
Overrides:
hashCode in class Object

equals

public boolean equals(Object obj)
Overrides:
equals in class Object

getCompositeCoordinator

public CompositeCoordinator getCompositeCoordinator()
                                             throws SysException,
                                                    UnsupportedOperationException
Specified by:
getCompositeCoordinator in interface CompositeTransaction
Throws:
SysException
UnsupportedOperationException
See Also:
CompositeTransaction.

addSubTxAwareParticipant

public void addSubTxAwareParticipant(SubTxAwareParticipant subtxaware)
                              throws SysException,
                                     UnsupportedOperationException,
                                     IllegalStateException
Specified by:
addSubTxAwareParticipant in interface CompositeTransaction
Throws:
SysException
UnsupportedOperationException
IllegalStateException
See Also:
CompositeTransaction

createSubTransaction

public CompositeTransaction createSubTransaction()
                                          throws SysException,
                                                 IllegalStateException
Specified by:
createSubTransaction in interface CompositeTransaction
Throws:
SysException
IllegalStateException
See Also:
CompositeTransaction.createSubTransaction()

setSerial

public void setSerial()
               throws IllegalStateException,
                      SysException
Specified by:
setSerial in interface CompositeTransaction
Throws:
IllegalStateException
SysException
See Also:
CompositeTransaction.setSerial()

getLocalSubTxCount

public int getLocalSubTxCount()
Specified by:
getLocalSubTxCount in interface CompositeTransaction
See Also:
CompositeTransaction.getLocalSubTxCount()

getExtent

public Extent getExtent()
Specified by:
getExtent in interface CompositeTransaction
See Also:
CompositeTransaction.getExtent()

getTimeout

public long getTimeout()
Specified by:
getTimeout in interface CompositeTransaction
See Also:
CompositeTransaction.getTimeout()

setRollbackOnly

public void setRollbackOnly()
Specified by:
setRollbackOnly in interface CompositeTransaction
See Also:
CompositeTransaction.setRollbackOnly()

commit

public void commit()
            throws HeurRollbackException,
                   HeurMixedException,
                   HeurHazardException,
                   SysException,
                   SecurityException,
                   RollbackException
Specified by:
commit in interface CompositeTransaction
Throws:
HeurRollbackException
HeurMixedException
HeurHazardException
SysException
SecurityException
RollbackException
See Also:
CompositeTransaction.commit()

rollback

public void rollback()
              throws IllegalStateException,
                     SysException
Specified by:
rollback in interface CompositeTransaction
Throws:
IllegalStateException
SysException
See Also:
CompositeTransaction.rollback()

setProperty

public void setProperty(String name,
                        String value)
Specified by:
setProperty in interface CompositeTransaction

getProperty

public String getProperty(String name)
Specified by:
getProperty in interface CompositeTransaction

getProperties

public Properties getProperties()
Specified by:
getProperties in interface CompositeTransaction

getState

public TxState getState()
Specified by:
getState in interface Stateful<TxState>
Specified by:
getState in interface CompositeTransaction
See Also:
Stateful


Copyright © 2014. All Rights Reserved.