|
||||||||||
| 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, copyAndReverse, getObjectChanges, getObjectsToAttach, getObjectsToDetach, getResourceChanges |
| Methods inherited from interface org.eclipse.emf.ecore.EObject |
|---|
eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, 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 | |||||||||