Package org.eclipse.emf.cdo.transaction
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:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn empty default implementation ofCDOPostEventTransactionHandler.Nested classes/interfaces inherited from interface org.eclipse.emf.cdo.transaction.CDOTransactionHandler1
CDOTransactionHandler1.WithUndo -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract voidattachedObject(CDOTransaction transaction, CDOObject object, Notification msg) voidattachingObject(CDOTransaction transaction, CDOObject object) Called by aCDOTransactionbefore an object is added.voidcommittedTransaction(CDOTransaction transaction, CDOCommitContext commitContext) Called by aCDOTransactionafter it is being committed.voidcommittingTransaction(CDOTransaction transaction, CDOCommitContext commitContext) Called by aCDOTransactionbefore it is being committed.protected abstract voiddetachedObject(CDOTransaction transaction, CDOObject object, Notification msg) voiddetachingObject(CDOTransaction transaction, CDOObject object) Called by aCDOTransactionbefore an object is detached.protected abstract voidmodifiedObject(CDOTransaction transaction, CDOObject object, Notification msg) voidmodifyingObject(CDOTransaction transaction, CDOObject object, CDOFeatureDelta featureDelta) Called by aCDOTransactionbefore an object is modified.voidrolledBackTransaction(CDOTransaction transaction) Called by aCDOTransactionafter it is rolled back.
-
Constructor Details
-
CDOPostEventTransactionHandler
public CDOPostEventTransactionHandler()
-
-
Method Details
-
attachingObject
Description copied from interface:CDOTransactionHandler1Called by aCDOTransactionbefore 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
viewand 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 theviewyou should useCDOAsyncTransactionHandler.- Specified by:
attachingObjectin interfaceCDOTransactionHandler1
-
modifyingObject
public void modifyingObject(CDOTransaction transaction, CDOObject object, CDOFeatureDelta featureDelta) Description copied from interface:CDOTransactionHandler1Called by aCDOTransactionbefore 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
viewand 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 theviewyou should useCDOAsyncTransactionHandler.- Specified by:
modifyingObjectin interfaceCDOTransactionHandler1
-
detachingObject
Description copied from interface:CDOTransactionHandler1Called by aCDOTransactionbefore 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
viewand 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 theviewyou should useCDOAsyncTransactionHandler.- Specified by:
detachingObjectin interfaceCDOTransactionHandler1
-
committingTransaction
Description copied from interface:CDOTransactionHandler2Called by aCDOTransactionbefore 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:
committingTransactionin interfaceCDOTransactionHandler2
-
committedTransaction
Description copied from interface:CDOTransactionHandler2Called by aCDOTransactionafter 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:
committedTransactionin interfaceCDOTransactionHandler2
-
rolledBackTransaction
Description copied from interface:CDOTransactionHandler2Called by aCDOTransactionafter 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:
rolledBackTransactionin interfaceCDOTransactionHandler2
-
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)
-