Package com.iizigo.editor
Class UndoTransaction
java.lang.Object
org.eclipse.core.commands.operations.AbstractOperation
com.iizigo.editor.UndoTransaction
- All Implemented Interfaces:
IUndoableOperation
Class used to create transactions in the operations history. Construct a new UndoTransaction instance to start the transaction, and call
commit
at the end, as simple as that! If it fails, call rollback
, but ALWAYS make sure either commit
or rollback
is called using try-catch-finally
, otherwise there may be leaks due to history listeners.- Author:
- Christopher Mindus
Constructor Summary
ConstructorDescriptionUndoTransaction
(String description, IUndoContext undoContext) Constructor used to begin the undo transaction.Method Summary
Modifier and TypeMethodDescriptionboolean
boolean
canRedo()
boolean
canUndo()
void
commit()
Commits a series of operations in a transaction initiated with a prior call tobegin
.void
dispose()
execute
(IProgressMonitor monitor, IAdaptable info) redo
(IProgressMonitor monitor, IAdaptable info) boolean
Performs a rollback.undo
(IProgressMonitor monitor, IAdaptable info) Methods inherited from class org.eclipse.core.commands.operations.AbstractOperation
addContext, getContexts, getLabel, hasContext, removeContext, setLabel, toString
Constructor Details
UndoTransaction
Constructor used to begin the undo transaction.It is very important to call
commit
orrollback
in all cases, usetry-catch-finally
to ensure this is done even when exceptions occur.- Parameters:
description
- The description of the entire operation.
Method Details
rollback
Performs a rollback.- Parameters:
shell
- The shell, can be set to null if performUndo is false.performUndo
- Flag indicating that operations already performed should be undone as much as possible. The operations that have been undone are removed from history, the ones not successful are left without change and no "global" transaction undo operation is used.- Returns:
- Success flag when
performUndo
is true. false indicates at least one operation failed to be undone, true indicates all operations are undone.
commit
public void commit()Commits a series of operations in a transaction initiated with a prior call tobegin
.dispose
public void dispose()- Specified by:
dispose
in interfaceIUndoableOperation
- Overrides:
dispose
in classAbstractOperation
canExecute
public boolean canExecute()- Specified by:
canExecute
in interfaceIUndoableOperation
- Overrides:
canExecute
in classAbstractOperation
canRedo
public boolean canRedo()- Specified by:
canRedo
in interfaceIUndoableOperation
- Overrides:
canRedo
in classAbstractOperation
canUndo
public boolean canUndo()- Specified by:
canUndo
in interfaceIUndoableOperation
- Overrides:
canUndo
in classAbstractOperation
execute
- Specified by:
execute
in interfaceIUndoableOperation
- Specified by:
execute
in classAbstractOperation
- Throws:
ExecutionException
redo
- Specified by:
redo
in interfaceIUndoableOperation
- Specified by:
redo
in classAbstractOperation
- Throws:
ExecutionException
undo
- Specified by:
undo
in interfaceIUndoableOperation
- Specified by:
undo
in classAbstractOperation
- Throws:
ExecutionException