Package org.eclipse.emf.cdo.transaction
Interface CDOTransactionHandler1
- All Superinterfaces:
CDOTransactionHandlerBase
- All Known Subinterfaces:
CDOTransactionHandler
,CDOTransactionHandler1.WithUndo
- All Known Implementing Classes:
CDOAsyncTransactionHandler
,CDOAutoAttacher
,CDOAutoCommitter
,CDOAutoLocker
,CDOAutoLocker.ForSingleValuedChanges
,CDODefaultTransactionHandler
,CDODefaultTransactionHandler1
,CDOPostEventTransactionHandler
,CDOPostEventTransactionHandler.Default
A call-back interface that is called by a
transaction
before objects
are
attached, modified or detached.- Since:
- 4.0
- Author:
- Eike Stepper
- See Also:
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic interface
A call-back interface that is called by atransaction
beforeobjects
are attached, modified, undone or detached. -
Method Summary
Modifier and TypeMethodDescriptionvoid
attachingObject
(CDOTransaction transaction, CDOObject object) Called by aCDOTransaction
before an object is added.void
detachingObject
(CDOTransaction transaction, CDOObject object) Called by aCDOTransaction
before an object is detached.void
modifyingObject
(CDOTransaction transaction, CDOObject object, CDOFeatureDelta featureDelta) Called by aCDOTransaction
before an object is modified.
-
Method Details
-
attachingObject
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
. -
detachingObject
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
. -
modifyingObject
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
.
-