Class 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.

See Also:
Serialized Form

Field Summary

Fields
Modifier and Type Field Description
protected Vector<UndoableEdit> edits

The collection of UndoableEdits undone/redone en masse by this CompoundEdit.

Fields declared in class javax.swing.undo.AbstractUndoableEdit

RedoName, UndoName

Constructor Summary

Constructors
Constructor Description
CompoundEdit()

Constructs a CompoundEdit.

Method Summary

All Methods Instance Methods Concrete Methods
Modifier and Type Method 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 UndoableEdits 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 UndoableEdits 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 declared in class javax.swing.undo.AbstractUndoableEdit

replaceEdit

Methods declared in class java.lang.Object

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

Field Detail

edits

protected Vector<UndoableEdit> edits

The collection of UndoableEdits undone/redone en masse by this CompoundEdit.

Constructor Detail

CompoundEdit

public CompoundEdit()

Constructs a 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 UndoableEdits 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.

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.

Returns:
whether this edit is in progress
See Also:
end()

isSignificant

public boolean isSignificant()

Returns true if any of the UndoableEdits 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