public interface ITransactionalOperation extends IUndoableOperation
ITransactionalOperation is an IUndoableOperation that
tolerates successive calls to
IUndoableOperation.execute(IProgressMonitor, IAdaptable) and
IUndoableOperation.undo(IProgressMonitor, IAdaptable) and allows
to check whether it has an overall effect (isNoOp()) compared to the
initial state upon construction.
It is used by transaction policies to
encapsulate their applied changes. The transaction policy will potentially execute the operation locally (to
realize "live-feedback") before returning it in its
AbstractTransactionPolicy.commit() method. It will then be executed
on the IOperationHistory, but only if it has an overall effect that
needs to be undoable.
| Modifier and Type | Method and Description |
|---|---|
boolean |
isContentRelevant()
Returns
true if this ITransactionalOperation is
actually changing model data (instead of only affecting the
visualization). |
boolean |
isNoOp()
Returns
true if this ITransactionalOperation has no
effect (in comparison to its initial state). |
addContext, canExecute, canRedo, canUndo, dispose, execute, getContexts, getLabel, hasContext, redo, removeContext, undoboolean isContentRelevant()
true if this ITransactionalOperation is
actually changing model data (instead of only affecting the
visualization). Otherwise returns false. The content
relevancy of an ITransactionalOperation can be checked to
determine if the execution of the operation will affect the model, for
example, to set an editor's dirty flag.true if this ITransactionalOperation is
actually changing model data, otherwise false.boolean isNoOp()
true if this ITransactionalOperation has no
effect (in comparison to its initial state). Otherwise returns
false.true if this ITransactionalOperation has no
effect, otherwise false.Copyright (c) 2014 itemis AG and others. All rights reserved.