tyrex.tm.impl
Class ControlImpl

java.lang.Object
  extended byorg.omg.CORBA.portable.ObjectImpl
      extended byorg.omg.CosTransactions._ControlImplBase
          extended bytyrex.tm.impl.ControlImpl
All Implemented Interfaces:
org.omg.CosTransactions.Control, org.omg.CosTransactions.ControlOperations, org.omg.CORBA.portable.IDLEntity, org.omg.CORBA.portable.InvokeHandler, org.omg.CORBA.Object, org.omg.CosTransactions.RecoveryCoordinator, org.omg.CosTransactions.RecoveryCoordinatorOperations, java.io.Serializable

final class ControlImpl
extends org.omg.CosTransactions._ControlImplBase
implements org.omg.CosTransactions.Control, org.omg.CosTransactions.RecoveryCoordinator

Implements a Control interface into a transaction. Transactions are implemented strictly by TransactionImpl, however when using the OTS API or communicating with other CORBA servers it is necessary to use the control interface. This object serves as lightweight adapter between the transaction and control interface.

Control objects are produced directly only by TransactionImpl and indirectly by TransactionFactory.

Version:
$Revision: 1.4 $ $Date: 2001/03/21 20:02:48 $
Author:
Assaf Arkin
See Also:
Changes J. Daniel : Changed code to be compliant with CORBA developing rules.

Field Summary
protected  org.omg.CosTransactions.TransIdentity[] _parents
          The list of parents of this transaction, the immediate parent at index 0 and the top level parent at index n-1.
protected  TransactionImpl _tx
          The underlying transaction to which this control serves as an interface.
 
Fields inherited from class org.omg.CosTransactions._ControlImplBase
 
Constructor Summary
(package private) ControlImpl(TransactionImpl tx)
          Creates a new control for a local transaction that could be used to propagate the transaction to a different server.
(package private) ControlImpl(TransactionImpl tx, org.omg.CosTransactions.PropagationContext pgContext)
          Creates a new control for a transaction that has been imported using the specified propagation context.
 
Method Summary
protected  void deactivate()
          This operation is used to deactivate all CORBA objects.
 org.omg.CosTransactions.Coordinator get_coordinator()
           
 org.omg.CosTransactions.Terminator get_terminator()
           
protected  org.omg.CosTransactions.Coordinator getCoordinator()
           
protected  org.omg.CosTransactions.TransIdentity getIdentity()
           
protected  org.omg.CosTransactions.PropagationContext getPropagationContext()
           
protected  org.omg.CosTransactions.Terminator getTerminator()
           
(package private)  TransactionImpl getTransaction()
          Return the transaction object which this control interface represents.
 org.omg.CosTransactions.Status replay_completion(org.omg.CosTransactions.Resource resource)
           
 
Methods inherited from class org.omg.CosTransactions._ControlImplBase
_ids, _invoke
 
Methods inherited from class org.omg.CORBA.portable.ObjectImpl
_create_request, _create_request, _duplicate, _get_delegate, _get_domain_managers, _get_interface_def, _get_policy, _hash, _invoke, _is_a, _is_equivalent, _is_local, _non_existent, _orb, _release, _releaseReply, _request, _request, _servant_postinvoke, _servant_preinvoke, _set_delegate, _set_policy_override, equals, hashCode, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.omg.CORBA.Object
_create_request, _create_request, _duplicate, _get_domain_managers, _get_interface_def, _get_policy, _hash, _is_a, _is_equivalent, _non_existent, _release, _request, _set_policy_override
 

Field Detail

_tx

protected final TransactionImpl _tx
The underlying transaction to which this control serves as an interface.


_parents

protected final org.omg.CosTransactions.TransIdentity[] _parents
The list of parents of this transaction, the immediate parent at index 0 and the top level parent at index n-1. If this transaction is a top level, this variable is null.

Constructor Detail

ControlImpl

ControlImpl(TransactionImpl tx,
            org.omg.CosTransactions.PropagationContext pgContext)
Creates a new control for a transaction that has been imported using the specified propagation context. The local transaction has it's own Xid, but no parents. The control has the parent list passed through the propagation.

Parameters:
tx - The local transaction
pgContext - The propagation context

ControlImpl

ControlImpl(TransactionImpl tx)
Creates a new control for a local transaction that could be used to propagate the transaction to a different server.

Parameters:
tx - The local transaction
Method Detail

get_terminator

public org.omg.CosTransactions.Terminator get_terminator()
                                                  throws org.omg.CosTransactions.Unavailable
Specified by:
get_terminator in interface org.omg.CosTransactions.ControlOperations
Throws:
org.omg.CosTransactions.Unavailable

get_coordinator

public org.omg.CosTransactions.Coordinator get_coordinator()
                                                    throws org.omg.CosTransactions.Unavailable
Specified by:
get_coordinator in interface org.omg.CosTransactions.ControlOperations
Throws:
org.omg.CosTransactions.Unavailable

getTerminator

protected org.omg.CosTransactions.Terminator getTerminator()

getCoordinator

protected org.omg.CosTransactions.Coordinator getCoordinator()

getPropagationContext

protected org.omg.CosTransactions.PropagationContext getPropagationContext()

getIdentity

protected org.omg.CosTransactions.TransIdentity getIdentity()

deactivate

protected void deactivate()
This operation is used to deactivate all CORBA objects. It is used when a transaction is ended ( rolled back or commited ).


replay_completion

public org.omg.CosTransactions.Status replay_completion(org.omg.CosTransactions.Resource resource)
Specified by:
replay_completion in interface org.omg.CosTransactions.RecoveryCoordinatorOperations

getTransaction

TransactionImpl getTransaction()
Return the transaction object which this control interface represents.



Original code is Copyright (c) 1999-2001, Intalio, Inc. All Rights Reserved. Contributions by MetaBoss team are Copyright (c) 2003-2005, Softaris Pty. Ltd. All Rights Reserved.