org.eclipse.emf.cdo.transaction

## Class CDOAsyncTransactionHandler

- java.lang.Object
- - org.eclipse.emf.cdo.transaction.CDOAsyncTransactionHandler

- All Implemented Interfaces:
    CDOTransactionHandler, CDOTransactionHandler1, CDOTransactionHandler2, CDOTransactionHandlerBase

      public class CDOAsyncTransactionHandler
      extends java.lang.Object
      implements CDOTransactionHandler

  Asynchronously executes a delegate handler's pre-event methods. The delegate handler's code may access the `view` without causing deadlocks.
  Since:
    2.0
  Author:
    Simon McDuff

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.eclipse.emf.cdo.transaction.CDOTransactionHandler1

      `CDOTransactionHandler1.WithUndo`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CDOAsyncTransactionHandler(CDOTransactionHandler delegate)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `attachingObject(CDOTransaction transaction, CDOObject object)` Asynchronously executes the delegate handler's `attachingObject()` method.
    `void` | `committedTransaction(CDOTransaction transaction, CDOCommitContext commitContext)` Synchronously executes the delegate handler's `committedTransaction()` method.
    `void` | `committingTransaction(CDOTransaction transaction, CDOCommitContext commitContext)` Asynchronously executes the delegate handler's `committingTransaction()` method.
    `void` | `detachingObject(CDOTransaction transaction, CDOObject object)` Asynchronously executes the delegate handler's `detachingObject()` method.
    `void` | `modifyingObject(CDOTransaction transaction, CDOObject object, CDOFeatureDelta featureChange)` Asynchronously executes the delegate handler's `modifyingObject()` method.
    `void` | `rolledBackTransaction(CDOTransaction transaction)` Synchronously executes the delegate handler's `rolledBackTransaction()` method.
    `protected void` | `runAsync(java.lang.Runnable runnable)` Should be overridden if you want to use different threading mechanism.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### CDOAsyncTransactionHandler

          public CDOAsyncTransactionHandler(CDOTransactionHandler delegate)

  - ### Method Detail

    - #### attachingObject

          public final void attachingObject(CDOTransaction transaction,
                                            CDOObject object)

      Asynchronously executes the delegate handler's `attachingObject()` method.
      Specified by:
        `attachingObject` in interface `CDOTransactionHandler1`

    - #### detachingObject

          public final void detachingObject(CDOTransaction transaction,
                                            CDOObject object)

      Asynchronously executes the delegate handler's `detachingObject()` method.
      Specified by:
        `detachingObject` in interface `CDOTransactionHandler1`

    - #### modifyingObject

          public final void modifyingObject(CDOTransaction transaction,
                                            CDOObject object,
                                            CDOFeatureDelta featureChange)

      Asynchronously executes the delegate handler's `modifyingObject()` method.
      Specified by:
        `modifyingObject` in interface `CDOTransactionHandler1`

    - #### committingTransaction

          public void committingTransaction(CDOTransaction transaction,
                                            CDOCommitContext commitContext)

      Asynchronously executes the delegate handler's `committingTransaction()` method.
      Specified by:
        `committingTransaction` in interface `CDOTransactionHandler2`

    - #### committedTransaction

          public void committedTransaction(CDOTransaction transaction,
                                           CDOCommitContext commitContext)

      Synchronously executes the delegate handler's `committedTransaction()` method.
      Specified by:
        `committedTransaction` in interface `CDOTransactionHandler2`

    - #### rolledBackTransaction

          public void rolledBackTransaction(CDOTransaction transaction)

      Synchronously executes the delegate handler's `rolledBackTransaction()` method.
      Specified by:
        `rolledBackTransaction` in interface `CDOTransactionHandler2`

    - #### runAsync

          protected void runAsync(java.lang.Runnable runnable)

      Should be overridden if you want to use different threading mechanism.

Copyright (c) 2014 Eike Stepper (Berlin, Germany) and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html