Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.1
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`
  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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.1
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 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.