Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Standard Ed. 5.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.swing.undo
Interface UndoableEdit

All Known Implementing Classes:
  AbstractDocument.DefaultDocumentEvent, AbstractDocument.ElementEdit, AbstractUndoableEdit, CompoundEdit, DefaultStyledDocument.AttributeUndoableEdit, StateEdit, UndoManager

    public interface UndoableEdit

An object representing an edit that has been done, and that can be undone and redone.

Method Summary
`boolean` | `addEdit(UndoableEdit anEdit)` This `UndoableEdit` should absorb `anEdit` if it can.
`boolean` | `canRedo()` True if it is still possible to redo this operation.
`boolean` | `canUndo()` True if it is still possible to undo this operation.
`void` | `die()` May be sent to inform an edit that it should no longer be used.
`String` | `getPresentationName()` Provides a localized, human readable description of this edit suitable for use in, say, a change log.
`String` | `getRedoPresentationName()` Provides a localized, human readable description of the redoable form of this edit, e.g.
`String` | `getUndoPresentationName()` Provides a localized, human readable description of the undoable form of this edit, e.g.
`boolean` | `isSignificant()` Returns false if this edit is insignificant--for example one that maintains the user's selection, but does not change any model state.
`void` | `redo()` Re-apply the edit, assuming that it has been undone.
`boolean` | `replaceEdit(UndoableEdit anEdit)` Returns true if this `UndoableEdit` should replace `anEdit`.
`void` | `undo()` Undo the edit that was made.

Method Detail

### undo

    void undo()
              throws CannotUndoException

  Undo the edit that was made.

  Throws:
    `CannotUndoException`

### canUndo

    boolean canUndo()

  True if it is still possible to undo this operation.

### redo

    void redo()
              throws CannotRedoException

  Re-apply the edit, assuming that it has been undone.

  Throws:
    `CannotRedoException`

### canRedo

    boolean canRedo()

  True if it is still possible to redo this operation.

### die

    void die()

  May be sent to inform an edit that it should no longer be used. This is a useful hook for cleaning up state no longer needed once undoing or redoing is impossible--for example, deleting file resources used by objects that can no longer be undeleted. `UndoManager` calls this before it dequeues edits. Note that this is a one-way operation. There is no "un-die" method.

  See Also:
    `CompoundEdit.die()`

### addEdit

    boolean addEdit(UndoableEdit anEdit)

  This `UndoableEdit` should absorb `anEdit` if it can. Returns true if has been incorporated, false if it has not.

  Typically the receiver is already in the queue of a `UndoManager` (or other `UndoableEditListener`), and is being given a chance to incorporate `anEdit` rather than letting it be added to the queue in turn.

  If true is returned, from now on `anEdit` must return false from `canUndo` and `canRedo`, and must throw the appropriate exception on `undo` or `redo`.

  Parameters:
    `anEdit` - the edit to be added

### replaceEdit

    boolean replaceEdit(UndoableEdit anEdit)

  Returns true if this `UndoableEdit` should replace `anEdit`. The receiver should incorporate `anEdit`'s state before returning true.

  This message is the opposite of addEdit--anEdit has typically already been queued in a `UndoManager` (or other UndoableEditListener), and the receiver is being given a chance to take its place.

  If true is returned, from now on anEdit must return false from canUndo() and canRedo(), and must throw the appropriate exception on undo() or redo().

### isSignificant

    boolean isSignificant()

  Returns false if this edit is insignificant--for example one that maintains the user's selection, but does not change any model state. This status can be used by an `UndoableEditListener` (like UndoManager) when deciding which UndoableEdits to present to the user as Undo/Redo options, and which to perform as side effects of undoing or redoing other events.

### getPresentationName

    String getPresentationName()

  Provides a localized, human readable description of this edit suitable for use in, say, a change log.

### getUndoPresentationName

    String getUndoPresentationName()

  Provides a localized, human readable description of the undoable form of this edit, e.g. for use as an Undo menu item. Typically derived from `getDescription`.

### getRedoPresentationName

    String getRedoPresentationName()

  Provides a localized, human readable description of the redoable form of this edit, e.g. for use as a Redo menu item. Typically derived from `getPresentationName`.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Standard Ed. 5.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.