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 java.lang.Object implements CDOTransactionHandler
An abstract call-back class that is called by atranscation
afterobjects
have been attached, modified or detached.- Since:
- 4.1
- Author:
- Martin Fluegge
- See Also:
CDOTransactionHandler1
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CDOPostEventTransactionHandler.Default
An empty default implementation ofCDOPostEventTransactionHandler
.-
Nested classes/interfaces inherited from interface org.eclipse.emf.cdo.transaction.CDOTransactionHandler1
CDOTransactionHandler1.WithUndo
-
-
Constructor Summary
Constructors Constructor Description CDOPostEventTransactionHandler()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract void
attachedObject(CDOTransaction transaction, CDOObject object, org.eclipse.emf.common.notify.Notification msg)
void
attachingObject(CDOTransaction transaction, CDOObject object)
Called by aCDOTransaction
before an object is added.void
committedTransaction(CDOTransaction transaction, CDOCommitContext commitContext)
Called by aCDOTransaction
after it is being committed.void
committingTransaction(CDOTransaction transaction, CDOCommitContext commitContext)
Called by aCDOTransaction
before it is being committed.protected abstract void
detachedObject(CDOTransaction transaction, CDOObject object, org.eclipse.emf.common.notify.Notification msg)
void
detachingObject(CDOTransaction transaction, CDOObject object)
Called by aCDOTransaction
before an object is detached.protected abstract void
modifiedObject(CDOTransaction transaction, CDOObject object, org.eclipse.emf.common.notify.Notification msg)
void
modifyingObject(CDOTransaction transaction, CDOObject object, CDOFeatureDelta featureDelta)
Called by aCDOTransaction
before an object is modified.void
rolledBackTransaction(CDOTransaction transaction)
Called by aCDOTransaction
after it is rolled back.
-
-
-
Method Detail
-
attachingObject
public void attachingObject(CDOTransaction transaction, CDOObject object)
Description copied from interface:CDOTransactionHandler1
Called by aCDOTransaction
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 theview
you should useCDOAsyncTransactionHandler
.- Specified by:
attachingObject
in interfaceCDOTransactionHandler1
-
modifyingObject
public void modifyingObject(CDOTransaction transaction, CDOObject object, CDOFeatureDelta featureDelta)
Description copied from interface:CDOTransactionHandler1
Called by aCDOTransaction
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 theview
you should useCDOAsyncTransactionHandler
.- Specified by:
modifyingObject
in interfaceCDOTransactionHandler1
-
detachingObject
public void detachingObject(CDOTransaction transaction, CDOObject object)
Description copied from interface:CDOTransactionHandler1
Called by aCDOTransaction
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 theview
you should useCDOAsyncTransactionHandler
.- Specified by:
detachingObject
in interfaceCDOTransactionHandler1
-
committingTransaction
public void committingTransaction(CDOTransaction transaction, CDOCommitContext commitContext)
Description copied from interface:CDOTransactionHandler2
Called by aCDOTransaction
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 interfaceCDOTransactionHandler2
-
committedTransaction
public void committedTransaction(CDOTransaction transaction, CDOCommitContext commitContext)
Description copied from interface:CDOTransactionHandler2
Called by aCDOTransaction
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 interfaceCDOTransactionHandler2
-
rolledBackTransaction
public void rolledBackTransaction(CDOTransaction transaction)
Description copied from interface:CDOTransactionHandler2
Called by aCDOTransaction
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 interfaceCDOTransactionHandler2
-
attachedObject
protected abstract void attachedObject(CDOTransaction transaction, CDOObject object, org.eclipse.emf.common.notify.Notification msg)
-
modifiedObject
protected abstract void modifiedObject(CDOTransaction transaction, CDOObject object, org.eclipse.emf.common.notify.Notification msg)
-
detachedObject
protected abstract void detachedObject(CDOTransaction transaction, CDOObject object, org.eclipse.emf.common.notify.Notification msg)
-
-