Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse JDT Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.eclipse.ltk.core.refactoring
Interface IUndoManager

public interface IUndoManager

An undo manager keeps track of performed changes. Use the method `addUndo` to add change objects to the undo stack and `performUndo` and `performRedo` to undo or redo changes.

This interface is not intended to be implemented by clients. Clients should use the method `RefactoringCore.getUndoManager()` to access the refactoring undo manager.

Since:
  3.0

Method Summary
`void` | `aboutToPerformChange(Change change)` The infrastructure is going to perform the given change.
`void` | `addListener(IUndoManagerListener listener)` Adds a listener to the undo manager.
`void` | `addUndo(String name, Change change)` Adds a new undo change to this undo manager.
`boolean` | `anythingToRedo()` Returns `true` if there is anything to redo, otherwise `false`.
`boolean` | `anythingToUndo()` Returns `true` if there is anything to undo, otherwise `false`.
`void` | `changePerformed(Change change)` The infrastructure has performed the given change.
`void` | `flush()` Flushes the undo manager's undo and redo stacks.
`String` | `peekRedoName()` Returns the name of the top most redo.
`String` | `peekUndoName()` Returns the name of the top most undo.
`void` | `performRedo(IValidationCheckResultQuery query, IProgressMonitor pm)` Redo the top most redo change.
`void` | `performUndo(IValidationCheckResultQuery query, IProgressMonitor pm)` Undo the top most undo change.
`void` | `removeListener(IUndoManagerListener listener)` Removes the given listener from this undo manager.
`void` | `shutdown()` Shut down the undo manager.

Method Detail

### addListener

    public void addListener(IUndoManagerListener listener)

  Adds a listener to the undo manager. Does nothing if the listener is already present.

  Parameters:
    `listener` - the listener to be added to the undo manager

### removeListener

    public void removeListener(IUndoManagerListener listener)

  Removes the given listener from this undo manager. Does nothing if the listener isn't registered with this undo manager

  Parameters:
    `listener` - the listener to be removed

### aboutToPerformChange

    public void aboutToPerformChange(Change change)

  The infrastructure is going to perform the given change.

  Parameters:
    `change` - the change to be performed.

### changePerformed

    public void changePerformed(Change change)

  The infrastructure has performed the given change.

  Parameters:
    `change` - the change that was performed

### addUndo

    public void addUndo(String name,
                        Change change)

  Adds a new undo change to this undo manager.

  Parameters:
    `name` - the name presented on the undo stack for the provided undo change. The name must be human readable.
    `change` - the undo change

### anythingToUndo

    public boolean anythingToUndo()

  Returns `true` if there is anything to undo, otherwise `false`.

  Returns:
    `true` if there is anything to undo, otherwise `false`

### peekUndoName

    public String peekUndoName()

  Returns the name of the top most undo.

  Returns:
    the top most undo name. Returns `null` if there aren't any changes to undo.

### performUndo

    public void performUndo(IValidationCheckResultQuery query,
                            IProgressMonitor pm)
                     throws CoreException

  Undo the top most undo change.

  Parameters:
    `query` - a proceed query to decide how to proceed if the validation checking of the undo change to perform returns a non OK status and the status isn't a fatal error. If `null` is passed in the the undo proceeds if the status is not a fatal error.
    `pm` - a progress monitor to report progress during performing the undo change
  Throws:
    `CoreException` - if performing the undo caused an exception

### anythingToRedo

    public boolean anythingToRedo()

  Returns `true` if there is anything to redo, otherwise `false`.

  Returns:
    `true` if there is anything to redo, otherwise `false`

### peekRedoName

    public String peekRedoName()

  Returns the name of the top most redo.

  Returns:
    the top most redo name. Returns `null` if there are no any changes to redo.

### performRedo

    public void performRedo(IValidationCheckResultQuery query,
                            IProgressMonitor pm)
                     throws CoreException

  Redo the top most redo change.

  Parameters:
    `query` - a proceed query to decide how to proceed if the validation checking of the redo change to perform returns a non OK status. If `null` is passed in the the undo proceeds if the status is not a fatal error.
    `pm` - a progress monitor to report progress during performing the redo change
  Throws:
    `CoreException` - if performing the redo caused an exception

### flush

    public void flush()

  Flushes the undo manager's undo and redo stacks.

### shutdown

    public void shutdown()

  Shut down the undo manager.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse JDT Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright (c) IBM Corp. and others 2000, 2004. All Rights Reserved.