public interface CDOTransactionHandler1 extends CDOTransactionHandlerBase
transaction
before objects
are
attached, modified or detached.CDOPostEventTransactionHandler
Modifier and Type | Method and Description |
---|---|
void |
attachingObject(CDOTransaction transaction,
CDOObject object)
Called by a
CDOTransaction before an object is added. |
void |
detachingObject(CDOTransaction transaction,
CDOObject object)
Called by a
CDOTransaction before an object is detached. |
void |
modifyingObject(CDOTransaction transaction,
CDOObject object,
CDOFeatureDelta featureDelta)
Called by a
CDOTransaction before an object is modified. |
void attachingObject(CDOTransaction transaction, CDOObject object)
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
.void detachingObject(CDOTransaction transaction, CDOObject object)
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
.void modifyingObject(CDOTransaction transaction, CDOObject object, CDOFeatureDelta featureDelta)
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
.Copyright (c) 2011-2014 Eike Stepper (Berlin, Germany) and others.