public class CompoundEdit extends AbstractUndoableEdit
A concrete subclass of AbstractUndoableEdit, used to assemble little UndoableEdits into great big ones.
protected Vector<UndoableEdit> edits
The collection of UndoableEdit
s undone/redone en masse by this CompoundEdit
.
public CompoundEdit()
public void undo() throws CannotUndoException
Sends undo
to all contained UndoableEdits
in the reverse of the order in which they were added.
undo
in interface UndoableEdit
undo
in class AbstractUndoableEdit
CannotUndoException
- if canUndo
returns false
AbstractUndoableEdit.canUndo()
public void redo() throws CannotRedoException
Sends redo
to all contained UndoableEdit
s in the order in which they were added.
redo
in interface UndoableEdit
redo
in class AbstractUndoableEdit
CannotRedoException
- if canRedo
returns false
AbstractUndoableEdit.canRedo()
protected UndoableEdit lastEdit()
Returns the last UndoableEdit
in edits
, or null
if edits
is empty.
public void die()
Sends die
to each subedit, in the reverse of the order that they were added.
die
in interface UndoableEdit
die
in class AbstractUndoableEdit
die()
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
.
addEdit
in interface UndoableEdit
addEdit
in class AbstractUndoableEdit
anEdit
- the edit to be addedinProgress
; otherwise returns falseUndoableEdit.addEdit(javax.swing.undo.UndoableEdit)
public void end()
Sets inProgress
to false.
public boolean canUndo()
Returns false if isInProgress
or if super returns false.
canUndo
in interface UndoableEdit
canUndo
in class AbstractUndoableEdit
alive
and hasBeenDone
is true
isInProgress()
public boolean canRedo()
Returns false if isInProgress
or if super returns false.
canRedo
in interface UndoableEdit
canRedo
in class AbstractUndoableEdit
true
if this edit is alive
and hasBeenDone
is false
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.
end()
public boolean isSignificant()
Returns true if any of the UndoableEdit
s in edits
do. Returns false if they all return false.
isSignificant
in interface UndoableEdit
isSignificant
in class AbstractUndoableEdit
UndoableEdit.isSignificant()
public String getPresentationName()
Returns getPresentationName
from the last UndoableEdit
added to edits
. If edits
is empty, calls super.
getPresentationName
in interface UndoableEdit
getPresentationName
in class AbstractUndoableEdit
AbstractUndoableEdit.getUndoPresentationName()
, AbstractUndoableEdit.getRedoPresentationName()
public String getUndoPresentationName()
Returns getUndoPresentationName
from the last UndoableEdit
added to edits
. If edits
is empty, calls super.
getUndoPresentationName
in interface UndoableEdit
getUndoPresentationName
in class AbstractUndoableEdit
AbstractUndoableEdit.undoText
, followed by a space, followed by getPresentationName
unless getPresentationName
is "" in which case, the defaults value is returned alone.AbstractUndoableEdit.getPresentationName()
public String getRedoPresentationName()
Returns getRedoPresentationName
from the last UndoableEdit
added to edits
. If edits
is empty, calls super.
getRedoPresentationName
in interface UndoableEdit
getRedoPresentationName
in class AbstractUndoableEdit
AbstractUndoableEdit.redoText
, followed by a space, followed by getPresentationName
unless getPresentationName
is "" in which case, the defaults value is returned alone.AbstractUndoableEdit.getPresentationName()
public String toString()
Returns a string that displays and identifies this object's properties.
toString
in class AbstractUndoableEdit
© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.