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

## 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
`protected Vector` | `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
`CompoundEdit()`

Method Summary
`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 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`

### 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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.2
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 2003 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.