org.eclipse.emf.transaction.impl
Class TransactionalEditingDomainImpl.LifecycleImpl

java.lang.Object
  extended by org.eclipse.emf.transaction.impl.TransactionalEditingDomainImpl.LifecycleImpl
All Implemented Interfaces:
InternalLifecycle, TransactionalEditingDomain.Lifecycle
Enclosing class:
TransactionalEditingDomainImpl

protected final class TransactionalEditingDomainImpl.LifecycleImpl
extends Object
implements InternalLifecycle

Default implementation of the InternalLifecycle protocol. May be subclassed by custom editing domain implementations.

Since:
1.3

Constructor Summary
TransactionalEditingDomainImpl.LifecycleImpl()
          Initializes me.
 
Method Summary
 void addTransactionalEditingDomainListener(TransactionalEditingDomainListener l)
          Adds a listener to be notified of editing domain and transaction life-cycle events.
 void dispose()
           
protected  void fireLifecycleEvent(int type, Transaction transaction)
          Fires the specified life-cycle event to my listeners, if any.
protected  TransactionalEditingDomainListener[] getLifecycleListeners()
          Obtains a copy of my life-cycle listener list as an array, for safe iteration that allows concurrent updates to the original list.
 void removeTransactionalEditingDomainListener(TransactionalEditingDomainListener l)
          Removes a lif-cycle event listener from the editing domain.
 void transactionClosed(InternalTransaction transaction)
          Notifies me that a transaction has completed its commit or rollback sequence.
 void transactionClosing(InternalTransaction transaction)
          Notifies me that a transaction has commenced its commit or rollback sequence.
 void transactionInterrupted(InternalTransaction transaction)
          Notifies me that a transaction has been interrupted in its start sequence.
 void transactionStarted(InternalTransaction transaction)
          Notifies me that a transaction has completed its start sequence.
 void transactionStarting(InternalTransaction transaction)
          Notifies me that a transaction has commenced its start sequence.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TransactionalEditingDomainImpl.LifecycleImpl

public TransactionalEditingDomainImpl.LifecycleImpl()
Initializes me.

Method Detail

addTransactionalEditingDomainListener

public void addTransactionalEditingDomainListener(TransactionalEditingDomainListener l)
Description copied from interface: TransactionalEditingDomain.Lifecycle
Adds a listener to be notified of editing domain and transaction life-cycle events.

Specified by:
addTransactionalEditingDomainListener in interface TransactionalEditingDomain.Lifecycle
Parameters:
l - a listener to add

removeTransactionalEditingDomainListener

public void removeTransactionalEditingDomainListener(TransactionalEditingDomainListener l)
Description copied from interface: TransactionalEditingDomain.Lifecycle
Removes a lif-cycle event listener from the editing domain.

Specified by:
removeTransactionalEditingDomainListener in interface TransactionalEditingDomain.Lifecycle
Parameters:
l - a listener to remove

dispose

public void dispose()

getLifecycleListeners

protected final TransactionalEditingDomainListener[] getLifecycleListeners()
Obtains a copy of my life-cycle listener list as an array, for safe iteration that allows concurrent updates to the original list.

Returns:
my life-cycle listeners (as of the time of calling this method)

fireLifecycleEvent

protected void fireLifecycleEvent(int type,
                                  Transaction transaction)
Fires the specified life-cycle event to my listeners, if any.

Parameters:
type - one of the life-cycle event types
transaction - the transaction that is the subject of the event, or null if the event pertains to the editing domain, itself

transactionClosed

public void transactionClosed(InternalTransaction transaction)
Description copied from interface: InternalLifecycle
Notifies me that a transaction has completed its commit or rollback sequence. There may be any number of steps implemented after requesting the editing domain to deactivate it.

Specified by:
transactionClosed in interface InternalLifecycle
Parameters:
transaction - a transaction that has closed

transactionClosing

public void transactionClosing(InternalTransaction transaction)
Description copied from interface: InternalLifecycle
Notifies me that a transaction has commenced its commit or rollback sequence. There may be any number of steps implemented before requesting the editing domain to deactivate it.

Specified by:
transactionClosing in interface InternalLifecycle
Parameters:
transaction - a transaction that is closing

transactionInterrupted

public void transactionInterrupted(InternalTransaction transaction)
Description copied from interface: InternalLifecycle
Notifies me that a transaction has been interrupted in its start sequence. There may be any number of steps implemented by the transaction that can be interrupted.

Specified by:
transactionInterrupted in interface InternalLifecycle
Parameters:
transaction - a transaction thatwas interrupted while starting

transactionStarted

public void transactionStarted(InternalTransaction transaction)
Description copied from interface: InternalLifecycle
Notifies me that a transaction has completed its start sequence. There may be any number of steps implemented after requesting the editing domain to activate it.

Specified by:
transactionStarted in interface InternalLifecycle
Parameters:
transaction - a transaction that has started

transactionStarting

public void transactionStarting(InternalTransaction transaction)
Description copied from interface: InternalLifecycle
Notifies me that a transaction has commenced its start sequence. There may be any number of steps implemented before requesting the editing domain to activate it.

Specified by:
transactionStarting in interface InternalLifecycle
Parameters:
transaction - a transaction that is starting

Copyright 2002, 2007 IBM Corporation and others.
All Rights Reserved.