Overview

 
Package  Use  Tree  Deprecated  Index  Help 
 PREV CLASS   NEXT CLASS FRAMES    NO FRAMES  
SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD


 

org.eclipse.emf.common.command
Class BasicCommandStack

java.lang.Object
  extended byorg.eclipse.emf.common.command.BasicCommandStack

All Implemented Interfaces:
CommandStack

Direct Known Subclasses:
PersistentCommandStack


public class BasicCommandStack
extends Object
implements CommandStack

A basic and obvious implementation of an undoable stack of commands. See Command for more details about the command methods that this implementation uses.


Field Summary
protected  List commandList
          The list of commands.
protected  Collection listeners
          The CommandStackListeners.
protected  Command mostRecentCommand
          The command most recently executed, undone, or redone.
protected  int saveIndex
          The value of top when saveIsDone() is called.
protected  int top
          The current position within the list from which the next execute, undo, or redo, will be performed.
 
Constructor Summary
BasicCommandStack()
          Creates a new empty instance.
 
Method Summary
 void addCommandStackListener(CommandStackListener listener)
          Adds a listener to the command stack, which will be notified whenever a command has been processed on the stack.
 boolean canRedo()
          Returns whether there are commands past the top of the stack that can be redone.
 boolean canUndo()
          Returns whether the top command on the stack can be undone.
 void execute(Command command)
          Clears any redoable commands not yet redone, adds the command, and then executes the command.
 void flush()
          Disposes all the commands in the stack.
 Command getMostRecentCommand()
          Returns the command most recently executed, undone, or redone.
 Command getRedoCommand()
          Returns the command that will be redone if redo() is called.
 Command getUndoCommand()
          Returns the command that will be undone if undo() is called.
 boolean isSaveNeeded()
          Returns whether the model has changes since saveIsDone() was call the last.
protected  void notifyListeners()
          This is called to ensure that CommandStackListener.commandStackChanged(java.util.EventObject) is called for each listener.
 void redo()
          Moves the top of the stack up, redoing the new top command.
 void removeCommandStackListener(CommandStackListener listener)
          Removes a listener from the command stack.
 void saveIsDone()
          Called after a save has been successfully performed.
 void undo()
          Moves the top of the stack down, undoing what was formerly the top command.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

 

Field Detail

 

 

commandList

protected List commandList

The list of commands.


 

 

top

protected int top

The current position within the list from which the next execute, undo, or redo, will be performed.


 

 

mostRecentCommand

protected Command mostRecentCommand

The command most recently executed, undone, or redone.


 

 

listeners

protected Collection listeners

The CommandStackListeners.


 

 

saveIndex

protected int saveIndex

The value of top when saveIsDone() is called.

Constructor Detail

 

 

BasicCommandStack

public BasicCommandStack()

Creates a new empty instance.

Method Detail

 

 

execute

public void execute(Command command)

Description copied from interface: CommandStack
Clears any redoable commands not yet redone, adds the command, and then executes the command.

Specified by:
execute in interface CommandStack

Parameters:
command - the command to execute.


 

 

canUndo

public boolean canUndo()

Description copied from interface: CommandStack
Returns whether the top command on the stack can be undone.

Specified by:
canUndo in interface CommandStack

Returns:
whether the top command on the stack can be undone.


 

 

undo

public void undo()

Description copied from interface: CommandStack
Moves the top of the stack down, undoing what was formerly the top command.

Specified by:
undo in interface CommandStack


 

 

canRedo

public boolean canRedo()

Description copied from interface: CommandStack
Returns whether there are commands past the top of the stack that can be redone.

Specified by:
canRedo in interface CommandStack

Returns:
whether there are commands past the top of the stack that can be redone.


 

 

redo

public void redo()

Description copied from interface: CommandStack
Moves the top of the stack up, redoing the new top command.

Specified by:
redo in interface CommandStack


 

 

flush

public void flush()

Description copied from interface: CommandStack
Disposes all the commands in the stack.

Specified by:
flush in interface CommandStack


 

 

getUndoCommand

public Command getUndoCommand()

Description copied from interface: CommandStack
Returns the command that will be undone if CommandStack.undo() is called.

Specified by:
getUndoCommand in interface CommandStack

Returns:
the command that will be undone if CommandStack.undo() is called.


 

 

getRedoCommand

public Command getRedoCommand()

Description copied from interface: CommandStack
Returns the command that will be redone if CommandStack.redo() is called.

Specified by:
getRedoCommand in interface CommandStack

Returns:
the command that will be redone if CommandStack.redo() is called.


 

 

getMostRecentCommand

public Command getMostRecentCommand()

Description copied from interface: CommandStack
Returns the command most recently executed, undone, or redone.

Specified by:
getMostRecentCommand in interface CommandStack

Returns:
the command most recently executed, undone, or redone.


 

 

addCommandStackListener

public void addCommandStackListener(CommandStackListener listener)

Description copied from interface: CommandStack
Adds a listener to the command stack, which will be notified whenever a command has been processed on the stack.

Specified by:
addCommandStackListener in interface CommandStack

Parameters:
listener - the listener to add.


 

 

removeCommandStackListener

public void removeCommandStackListener(CommandStackListener listener)

Description copied from interface: CommandStack
Removes a listener from the command stack.

Specified by:
removeCommandStackListener in interface CommandStack

Parameters:
listener - the listener to remove.


 

 

notifyListeners

protected void notifyListeners()

This is called to ensure that CommandStackListener.commandStackChanged(java.util.EventObject) is called for each listener.


 

 

saveIsDone

public void saveIsDone()

Called after a save has been successfully performed.


 

 

isSaveNeeded

public boolean isSaveNeeded()

Returns whether the model has changes since saveIsDone() was call the last.

Returns:
whether the model has changes since saveIsDone was call the last.


 

Overview

 
Package  Use  Tree  Deprecated  Index  Help 
Copyright 2001-2004 IBM Corporation and others.
All Rights Reserved.
 PREV CLASS   NEXT CLASS FRAMES    NO FRAMES  
SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD