Class DualCompareCommandStack
- java.lang.Object
-
- org.eclipse.emf.compare.command.impl.DualCompareCommandStack
-
- All Implemented Interfaces:
CommandStack
,ICompareCommandStack
,IDisposable
public class DualCompareCommandStack extends Object implements ICompareCommandStack, IDisposable
ICompareCommandStack
implementation that will delegates to two given command stacks; one for each side of the comparison.This implementation is not robust. If an error occurs during execution of a command, the whole state will be corrupted and the undo/redo may have an unknown behavior.
-
-
Constructor Summary
Constructors Constructor Description DualCompareCommandStack(BasicCommandStack leftCommandStack, BasicCommandStack rightCommandStack)
Creates an instance that delegates to two givenBasicCommandStack
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addCommandStackListener(CommandStackListener listener)
boolean
canRedo()
boolean
canUndo()
void
dispose()
void
execute(Command command)
void
flush()
Command
getMostRecentCommand()
Command
getRedoCommand()
Command
getUndoCommand()
boolean
isLeftSaveNeeded()
Returns whether the left model has changes sinceICompareCommandStack.leftSaveIsDone()
was call the last.boolean
isRightSaveNeeded()
Returns whether the right model has changes sinceICompareCommandStack.rightSaveIsDone()
was call the last.void
leftSaveIsDone()
Called after a save of the left model has been successfully performed.protected void
notifyListeners(Object source)
This is called to ensure thatCommandStackListener.commandStackChanged(java.util.EventObject)
is called for each listener.void
redo()
void
removeCommandStackListener(CommandStackListener listener)
void
rightSaveIsDone()
Called after a save of the right model has been successfully performed.void
undo()
-
-
-
Constructor Detail
-
DualCompareCommandStack
public DualCompareCommandStack(BasicCommandStack leftCommandStack, BasicCommandStack rightCommandStack)
Creates an instance that delegates to two givenBasicCommandStack
.- Parameters:
leftCommandStack
- the left command stack.rightCommandStack
- the right command stack.
-
-
Method Detail
-
dispose
public void dispose()
- Specified by:
dispose
in interfaceIDisposable
- See Also:
IDisposable.dispose()
-
notifyListeners
protected void notifyListeners(Object source)
This is called to ensure thatCommandStackListener.commandStackChanged(java.util.EventObject)
is called for each listener.- Parameters:
source
- the source of the notification
-
execute
public void execute(Command command)
- Specified by:
execute
in interfaceCommandStack
- See Also:
CommandStack.execute(org.eclipse.emf.common.command.Command)
-
canUndo
public boolean canUndo()
- Specified by:
canUndo
in interfaceCommandStack
- See Also:
CommandStack.canUndo()
-
undo
public void undo()
- Specified by:
undo
in interfaceCommandStack
- See Also:
CommandStack.undo()
-
canRedo
public boolean canRedo()
- Specified by:
canRedo
in interfaceCommandStack
- See Also:
CommandStack.canRedo()
-
getUndoCommand
public Command getUndoCommand()
- Specified by:
getUndoCommand
in interfaceCommandStack
- See Also:
CommandStack.getUndoCommand()
-
getRedoCommand
public Command getRedoCommand()
- Specified by:
getRedoCommand
in interfaceCommandStack
- See Also:
CommandStack.getRedoCommand()
-
getMostRecentCommand
public Command getMostRecentCommand()
- Specified by:
getMostRecentCommand
in interfaceCommandStack
- See Also:
CommandStack.getMostRecentCommand()
-
redo
public void redo()
- Specified by:
redo
in interfaceCommandStack
- See Also:
CommandStack.redo()
-
flush
public void flush()
- Specified by:
flush
in interfaceCommandStack
- See Also:
CommandStack.flush()
-
addCommandStackListener
public void addCommandStackListener(CommandStackListener listener)
- Specified by:
addCommandStackListener
in interfaceCommandStack
- See Also:
CommandStack.addCommandStackListener(org.eclipse.emf.common.command.CommandStackListener)
-
removeCommandStackListener
public void removeCommandStackListener(CommandStackListener listener)
- Specified by:
removeCommandStackListener
in interfaceCommandStack
- See Also:
CommandStack.removeCommandStackListener(org.eclipse.emf.common.command.CommandStackListener)
-
isLeftSaveNeeded
public boolean isLeftSaveNeeded()
Returns whether the left model has changes sinceICompareCommandStack.leftSaveIsDone()
was call the last.- Specified by:
isLeftSaveNeeded
in interfaceICompareCommandStack
- Returns:
- whether the left model has changes since
ICompareCommandStack.leftSaveIsDone()
was call the last. - See Also:
ICompareCommandStack.isLeftSaveNeeded()
-
isRightSaveNeeded
public boolean isRightSaveNeeded()
Returns whether the right model has changes sinceICompareCommandStack.rightSaveIsDone()
was call the last.- Specified by:
isRightSaveNeeded
in interfaceICompareCommandStack
- Returns:
- whether the right model has changes since
ICompareCommandStack.rightSaveIsDone()
was call the last. - See Also:
ICompareCommandStack.isRightSaveNeeded()
-
leftSaveIsDone
public void leftSaveIsDone()
Called after a save of the left model has been successfully performed.- Specified by:
leftSaveIsDone
in interfaceICompareCommandStack
- See Also:
ICompareCommandStack.leftSaveIsDone()
-
rightSaveIsDone
public void rightSaveIsDone()
Called after a save of the right model has been successfully performed.- Specified by:
rightSaveIsDone
in interfaceICompareCommandStack
- See Also:
ICompareCommandStack.rightSaveIsDone()
-
-