Module java.desktop

Class AbstractUndoableEdit

java.lang.Object
javax.swing.undo.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.
  • 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

    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 Details

    • 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 Details

    • AbstractUndoableEdit

      public AbstractUndoableEdit()
      Creates an AbstractUndoableEdit which defaults hasBeenDone and alive to true.
  • Method Details

    • 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