public interface ITransactionalOperation
extends org.eclipse.core.commands.operations.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
AbstractPolicy.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). |
boolean isContentRelevant()
true
if this ITransactionalOperation
is
actually changing model data (instead of only affecting the
visualization). Otherwise returns false
. The content
relevance 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, 2016 itemis AG and others. All rights reserved.