|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface TransactionChangeDescription
A specialized change description that may not be able to apply itself, especially in the case where it includes non-EMF changes that are not reversible.
When a transaction rolls back, the assumption is that all changes that it
performed can be undone, even any non-EMF changes that are captured in its
TransactionChangeDescription
. This assumption is necessary because
the semantics of rollback guarantee that rollback cannot fail: rollback
must restore the system to the state it was in before the
transaction started. Thus, any change description (possibly nested in a
composite) that cannot be applied will be ignored and a best effort made to
apply all other changes.
However, the same should not hold for undo/redo of the changes performed by a transaction after it has committed. If the transaction's change description is stored on some kind of "command stack" as an encapsulation of an undoable change, then the possibility that a change description cannot be applied should be respected by disabling undo/redo.
Method Summary | |
---|---|
boolean |
canApply()
Queries whether I can apply my changes. |
boolean |
isEmpty()
Queries whether I have no changes. |
Methods inherited from interface org.eclipse.emf.ecore.change.ChangeDescription |
---|
apply, applyAndReverse, getObjectChanges, getObjectsToAttach, getObjectsToDetach, getResourceChanges |
Methods inherited from interface org.eclipse.emf.ecore.EObject |
---|
eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eIsProxy, eIsSet, eResource, eSet, eUnset |
Methods inherited from interface org.eclipse.emf.common.notify.Notifier |
---|
eAdapters, eDeliver, eNotify, eSetDeliver |
Method Detail |
---|
boolean canApply()
apply
my changes.
If I can, then it is assumed that I could
reverse
them also.
true
if my changes can be applied;
false
otherwise (i.e., they are not invertible)boolean isEmpty()
true
if I have no changes (applying me would have
no effect on anything); false
, otherwise
|
Copyright 2002, 2007 IBM Corporation and others. All Rights Reserved. |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |