Class CDOPostEventTransactionHandler

java.lang.Object
org.eclipse.emf.cdo.transaction.CDOPostEventTransactionHandler
All Implemented Interfaces:
CDOTransactionHandler, CDOTransactionHandler1, CDOTransactionHandler2, CDOTransactionHandlerBase
Direct Known Subclasses:
CDOPostEventTransactionHandler.Default

public abstract class CDOPostEventTransactionHandler extends Object implements CDOTransactionHandler
An abstract call-back class that is called by a transcation after objects have been attached, modified or detached.
Since:
4.1
Author:
Martin Fluegge
See Also:
  • Constructor Details

    • CDOPostEventTransactionHandler

      public CDOPostEventTransactionHandler()
  • Method Details

    • attachingObject

      public void attachingObject(CDOTransaction transaction, CDOObject object)
      Description copied from interface: CDOTransactionHandler1
      Called by a CDOTransaction before an object is added. The implementor of this method is allowed to throw an unchecked exception that will propagate up to the operation that is about to add the object (thereby preventing the operation from successful completion).

      Note: Implementors must not start threads which access the view and wait for their completion since deadlocks can result. The following example causes a deadlock:

       getDisplay().syncExec(new Runnable()
       {
         public void run()
         {
           try
           {
             cdoObject.getName();
           }
           catch (Exception ignore)
           {
           }
         }
       });
       
      If you need to synchronously execute threads which access the view you should use CDOAsyncTransactionHandler.
      Specified by:
      attachingObject in interface CDOTransactionHandler1
    • modifyingObject

      public void modifyingObject(CDOTransaction transaction, CDOObject object, CDOFeatureDelta featureDelta)
      Description copied from interface: CDOTransactionHandler1
      Called by a CDOTransaction before an object is modified. The implementor of this method is allowed to throw an unchecked exception that will propagate up to the operation that is about to modify the object (thereby preventing the operation from completing successfully).

      Note: Implementors must not start threads which access the view and wait for their completion since deadlocks can result. The following example causes a deadlock:

       getDisplay().syncExec(new Runnable()
       {
         public void run()
         {
           try
           {
             cdoObject.getName();
           }
           catch (Exception ignore)
           {
           }
         }
       });
       
      If you need to synchronously execute threads which access the view you should use CDOAsyncTransactionHandler.
      Specified by:
      modifyingObject in interface CDOTransactionHandler1
    • detachingObject

      public void detachingObject(CDOTransaction transaction, CDOObject object)
      Description copied from interface: CDOTransactionHandler1
      Called by a CDOTransaction before an object is detached. The implementor of this method is allowed to throw an unchecked exception that will propagate up to the operation that is about to remove the object (thereby preventing the operation from completing successfully).

      Note: Implementors must not start threads which access the view and wait for their completion since deadlocks can result. The following example causes a deadlock:

       getDisplay().syncExec(new Runnable()
       {
         public void run()
         {
           try
           {
             cdoObject.getName();
           }
           catch (Exception ignore)
           {
           }
         }
       });
       
      If you need to synchronously execute threads which access the view you should use CDOAsyncTransactionHandler.
      Specified by:
      detachingObject in interface CDOTransactionHandler1
    • committingTransaction

      public void committingTransaction(CDOTransaction transaction, CDOCommitContext commitContext)
      Description copied from interface: CDOTransactionHandler2
      Called by a CDOTransaction before it is being committed. The implementor of this method is allowed to throw an unchecked exception that will propagate up to the operation that is about to commit the transaction (thereby preventing the operation from completing successfully). The implementor of this method is allowed to apply changes to the object graph managed by the transaction.
      Specified by:
      committingTransaction in interface CDOTransactionHandler2
    • committedTransaction

      public void committedTransaction(CDOTransaction transaction, CDOCommitContext commitContext)
      Description copied from interface: CDOTransactionHandler2
      Called by a CDOTransaction after it is being committed. The implementor of this method is not allowed to throw an unchecked exception.

      If you're interested in the results of the commit operation consider to implement CDOTransactionHandler3.committedTransaction().

      Specified by:
      committedTransaction in interface CDOTransactionHandler2
    • rolledBackTransaction

      public void rolledBackTransaction(CDOTransaction transaction)
      Description copied from interface: CDOTransactionHandler2
      Called by a CDOTransaction after it is rolled back. If the implementor of this method throws an exception it will be logged as an error and subsequent handlers will be further called.
      Specified by:
      rolledBackTransaction in interface CDOTransactionHandler2
    • attachedObject

      protected abstract void attachedObject(CDOTransaction transaction, CDOObject object, Notification msg)
    • modifiedObject

      protected abstract void modifiedObject(CDOTransaction transaction, CDOObject object, Notification msg)
    • detachedObject

      protected abstract void detachedObject(CDOTransaction transaction, CDOObject object, Notification msg)