javax.swing.undo

## Class CompoundEdit

- java.lang.Object
- - javax.swing.undo.AbstractUndoableEdit
  - - javax.swing.undo.CompoundEdit

- All Implemented Interfaces:
    Serializable, UndoableEdit
  Direct Known Subclasses:
    AbstractDocument.DefaultDocumentEvent, UndoManager

      public class CompoundEdit
      extends AbstractUndoableEdit

  A concrete subclass of AbstractUndoableEdit, used to assemble little UndoableEdits into great big ones.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Vector<UndoableEdit>` | `edits` The collection of `UndoableEdit`s undone/redone en masse by this `CompoundEdit`.

    - ### Fields inherited from class javax.swing.undo.AbstractUndoableEdit

      `RedoName, UndoName`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CompoundEdit()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `addEdit(UndoableEdit anEdit)` If this edit is `inProgress`, accepts `anEdit` and returns true.
    `boolean` | `canRedo()` Returns false if `isInProgress` or if super returns false.
    `boolean` | `canUndo()` Returns false if `isInProgress` or if super returns false.
    `void` | `die()` Sends `die` to each subedit, in the reverse of the order that they were added.
    `void` | `end()` Sets `inProgress` to false.
    `String` | `getPresentationName()` Returns `getPresentationName` from the last `UndoableEdit` added to `edits`.
    `String` | `getRedoPresentationName()` Returns `getRedoPresentationName` from the last `UndoableEdit` added to `edits`.
    `String` | `getUndoPresentationName()` Returns `getUndoPresentationName` from the last `UndoableEdit` added to `edits`.
    `boolean` | `isInProgress()` Returns true if this edit is in progress--that is, it has not received end.
    `boolean` | `isSignificant()` Returns true if any of the `UndoableEdit`s in `edits` do.
    `protected UndoableEdit` | `lastEdit()` Returns the last `UndoableEdit` in `edits`, or `null` if `edits` is empty.
    `void` | `redo()` Sends `redo` to all contained `UndoableEdit`s in the order in which they were added.
    `String` | `toString()` Returns a string that displays and identifies this object's properties.
    `void` | `undo()` Sends `undo` to all contained `UndoableEdits` in the reverse of the order in which they were added.

    - ### Methods inherited from class javax.swing.undo.AbstractUndoableEdit

      `replaceEdit`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### edits

          protected Vector<UndoableEdit> edits

      The collection of `UndoableEdit`s undone/redone en masse by this `CompoundEdit`.

  - ### Constructor Detail

    - #### CompoundEdit

          public CompoundEdit()

  - ### Method Detail

    - #### undo

          public void undo()
                    throws CannotUndoException

      Sends `undo` to all contained `UndoableEdits` in the reverse of the order in which they were added.
      Specified by:
        `undo` in interface `UndoableEdit`
      Overrides:
        `undo` in class `AbstractUndoableEdit`
      Throws:
        `CannotUndoException` - if `canUndo` returns `false`
      See Also:
        `AbstractUndoableEdit.canUndo()`

    - #### redo

          public void redo()
                    throws CannotRedoException

      Sends `redo` to all contained `UndoableEdit`s in the order in which they were added.
      Specified by:
        `redo` in interface `UndoableEdit`
      Overrides:
        `redo` in class `AbstractUndoableEdit`
      Throws:
        `CannotRedoException` - if `canRedo` returns `false`
      See Also:
        `AbstractUndoableEdit.canRedo()`

    - #### lastEdit

          protected UndoableEdit lastEdit()

      Returns the last `UndoableEdit` in `edits`, or `null` if `edits` is empty.

    - #### die

          public void die()

      Sends `die` to each subedit, in the reverse of the order that they were added.
      Specified by:
        `die` in interface `UndoableEdit`
      Overrides:
        `die` in class `AbstractUndoableEdit`
      See Also:
        `die()`

    - #### addEdit

          public boolean addEdit(UndoableEdit anEdit)

      If this edit is `inProgress`, accepts `anEdit` and returns true.

      The last edit added to this `CompoundEdit` is given a chance to `addEdit(anEdit)`. If it refuses (returns false), `anEdit` is given a chance to `replaceEdit` the last edit. If `anEdit` returns false here, it is added to `edits`.

      Specified by:
        `addEdit` in interface `UndoableEdit`
      Overrides:
        `addEdit` in class `AbstractUndoableEdit`
      Parameters:
        `anEdit` - the edit to be added
      Returns:
        true if the edit is `inProgress`; otherwise returns false
      See Also:
        `UndoableEdit.addEdit(javax.swing.undo.UndoableEdit)`

    - #### end

          public void end()

      Sets `inProgress` to false.
      See Also:
        `canUndo()`, `canRedo()`

    - #### canUndo

          public boolean canUndo()

      Returns false if `isInProgress` or if super returns false.
      Specified by:
        `canUndo` in interface `UndoableEdit`
      Overrides:
        `canUndo` in class `AbstractUndoableEdit`
      Returns:
        true if this edit is `alive` and `hasBeenDone` is `true`
      See Also:
        `isInProgress()`

    - #### canRedo

          public boolean canRedo()

      Returns false if `isInProgress` or if super returns false.
      Specified by:
        `canRedo` in interface `UndoableEdit`
      Overrides:
        `canRedo` in class `AbstractUndoableEdit`
      Returns:
        `true` if this edit is `alive` and `hasBeenDone` is `false`
      See Also:
        `isInProgress()`

    - #### isInProgress

          public boolean isInProgress()

      Returns true if this edit is in progress--that is, it has not received end. This generally means that edits are still being added to it.
      See Also:
        `end()`

    - #### isSignificant

          public boolean isSignificant()

      Returns true if any of the `UndoableEdit`s in `edits` do. Returns false if they all return false.
      Specified by:
        `isSignificant` in interface `UndoableEdit`
      Overrides:
        `isSignificant` in class `AbstractUndoableEdit`
      Returns:
        true
      See Also:
        `UndoableEdit.isSignificant()`

    - #### getPresentationName

          public String getPresentationName()

      Returns `getPresentationName` from the last `UndoableEdit` added to `edits`. If `edits` is empty, calls super.
      Specified by:
        `getPresentationName` in interface `UndoableEdit`
      Overrides:
        `getPresentationName` in class `AbstractUndoableEdit`
      Returns:
        the empty string ""
      See Also:
        `AbstractUndoableEdit.getUndoPresentationName()`, `AbstractUndoableEdit.getRedoPresentationName()`

    - #### getUndoPresentationName

          public String getUndoPresentationName()

      Returns `getUndoPresentationName` from the last `UndoableEdit` added to `edits`. If `edits` is empty, calls super.
      Specified by:
        `getUndoPresentationName` in interface `UndoableEdit`
      Overrides:
        `getUndoPresentationName` in class `AbstractUndoableEdit`
      Returns:
        the value from the defaults table with key `AbstractUndoableEdit.undoText`, followed by a space, followed by `getPresentationName` unless `getPresentationName` is "" in which case, the defaults value is returned alone.
      See Also:
        `AbstractUndoableEdit.getPresentationName()`

    - #### getRedoPresentationName

          public String getRedoPresentationName()

      Returns `getRedoPresentationName` from the last `UndoableEdit` added to `edits`. If `edits` is empty, calls super.
      Specified by:
        `getRedoPresentationName` in interface `UndoableEdit`
      Overrides:
        `getRedoPresentationName` in class `AbstractUndoableEdit`
      Returns:
        the value from the defaults table with key `AbstractUndoableEdit.redoText`, followed by a space, followed by `getPresentationName` unless `getPresentationName` is "" in which case, the defaults value is returned alone.
      See Also:
        `AbstractUndoableEdit.getPresentationName()`

    - #### toString

          public String toString()

      Returns a string that displays and identifies this object's properties.
      Overrides:
        `toString` in class `AbstractUndoableEdit`
      Returns:
        a String representation of this object

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2015, Oracle and/or its affiliates. All rights reserved.