Class AbstractUndoableEdit

All Implemented Interfaces:
Serializable, UndoableEdit
Direct Known Subclasses:
AbstractDocument.ElementEdit, CompoundEdit, DefaultStyledDocument.AttributeUndoableEdit, StateEdit
public class AbstractUndoableEdit
extends Object
implements UndoableEdit, Serializable

An abstract implementation of UndoableEdit, implementing simple responses to all boolean methods in that interface.

See Also:
Serialized Form

Field Summary

Fields
Modifier and Type Field Description
protected static String RedoName

String returned by getRedoPresentationName; as of Java 2 platform v1.3.1 this field is no longer used.

protected static String UndoName

String returned by getUndoPresentationName; as of Java 2 platform v1.3.1 this field is no longer used.

Constructor Summary

Constructors
Constructor Description
AbstractUndoableEdit()

Creates an AbstractUndoableEdit which defaults hasBeenDone and alive to true.

Method Summary

All Methods Instance Methods Concrete Methods
Modifier and Type Method Description
boolean addEdit​(UndoableEdit anEdit)

This default implementation returns false.

boolean canRedo()

Returns true if this edit is alive and hasBeenDone is false.

boolean canUndo()

Returns true if this edit is alive and hasBeenDone is true.

void die()

Sets alive to false.

String getPresentationName()

This default implementation returns "".

String getRedoPresentationName()

Retreives the value from the defaults table with key AbstractUndoableEdit.redoText and returns that value followed by a space, followed by getPresentationName.

String getUndoPresentationName()

Retreives the value from the defaults table with key AbstractUndoableEdit.undoText and returns that value followed by a space, followed by getPresentationName.

boolean isSignificant()

This default implementation returns true.

void redo()

Throws CannotRedoException if canRedo returns false.

boolean replaceEdit​(UndoableEdit anEdit)

This default implementation returns false.

String toString()

Returns a string that displays and identifies this object's properties.

void undo()

Throws CannotUndoException if canUndo returns false.

Methods declared in class java.lang.Object

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

Field Detail

UndoName

protected static final String UndoName

String returned by getUndoPresentationName; as of Java 2 platform v1.3.1 this field is no longer used. This value is now localized and comes from the defaults table with key AbstractUndoableEdit.undoText.

See Also:
UIDefaults, Constant Field Values

RedoName

protected static final String RedoName

String returned by getRedoPresentationName; as of Java 2 platform v1.3.1 this field is no longer used. This value is now localized and comes from the defaults table with key AbstractUndoableEdit.redoText.

See Also:
UIDefaults, Constant Field Values

Constructor Detail

AbstractUndoableEdit

public AbstractUndoableEdit()

Creates an AbstractUndoableEdit which defaults hasBeenDone and alive to true.

Method Detail

die

public void die()

Sets alive to false. Note that this is a one way operation; dead edits cannot be resurrected. Sending undo or redo to a dead edit results in an exception being thrown.

Typically an edit is killed when it is consolidated by another edit's addEdit or replaceEdit method, or when it is dequeued from an UndoManager.

Specified by:
die in interface UndoableEdit
See Also:
CompoundEdit.die()

undo

public void undo()
          throws CannotUndoException

Throws CannotUndoException if canUndo returns false. Sets hasBeenDone to false. Subclasses should override to undo the operation represented by this edit. Override should begin with a call to super.

Specified by:
undo in interface UndoableEdit
Throws:
CannotUndoException - if canUndo returns false
See Also:
canUndo()

canUndo

public boolean canUndo()

Returns true if this edit is alive and hasBeenDone is true.

Specified by:
canUndo in interface UndoableEdit
Returns:
true if this edit is alive and hasBeenDone is true
See Also:
die(), undo(), redo()

redo

public void redo()
          throws CannotRedoException

Throws CannotRedoException if canRedo returns false. Sets hasBeenDone to true. Subclasses should override to redo the operation represented by this edit. Override should begin with a call to super.

Specified by:
redo in interface UndoableEdit
Throws:
CannotRedoException - if canRedo returns false
See Also:
canRedo()

canRedo

public boolean canRedo()

Returns true if this edit is alive and hasBeenDone is false.

Specified by:
canRedo in interface UndoableEdit
Returns:
true if this edit is alive and hasBeenDone is false
See Also:
die(), undo(), redo()

addEdit

public boolean addEdit​(UndoableEdit anEdit)

This default implementation returns false.

Specified by:
addEdit in interface UndoableEdit
Parameters:
anEdit - the edit to be added
Returns:
false
See Also:
UndoableEdit.addEdit(javax.swing.undo.UndoableEdit)

replaceEdit

public boolean replaceEdit​(UndoableEdit anEdit)

This default implementation returns false.

Specified by:
replaceEdit in interface UndoableEdit
Parameters:
anEdit - the edit to replace
Returns:
false
See Also:
UndoableEdit.replaceEdit(javax.swing.undo.UndoableEdit)

isSignificant

public boolean isSignificant()

This default implementation returns true.

Specified by:
isSignificant in interface UndoableEdit
Returns:
true
See Also:
UndoableEdit.isSignificant()

getPresentationName

public String getPresentationName()

This default implementation returns "". Used by getUndoPresentationName and getRedoPresentationName to construct the strings they return. Subclasses should override to return an appropriate description of the operation this edit represents.

Specified by:
getPresentationName in interface UndoableEdit
Returns:
the empty string ""
See Also:
getUndoPresentationName(), getRedoPresentationName()

getUndoPresentationName

public String getUndoPresentationName()

Retreives the value from the defaults table with key AbstractUndoableEdit.undoText and returns that value followed by a space, followed by getPresentationName. If getPresentationName returns "", then the defaults value is returned alone.

Specified by:
getUndoPresentationName in interface UndoableEdit
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:
getPresentationName()

getRedoPresentationName

public String getRedoPresentationName()

Retreives the value from the defaults table with key AbstractUndoableEdit.redoText and returns that value followed by a space, followed by getPresentationName. If getPresentationName returns "", then the defaults value is returned alone.

Specified by:
getRedoPresentationName in interface UndoableEdit
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:
getPresentationName()

toString

public String toString()

Returns a string that displays and identifies this object's properties.

Overrides:
toString in class Object
Returns:
a String representation of this object