Use is subject to License Terms. Your use of this web site or any of its content or software indicates your agreement to be bound by these License Terms.

Copyright © 2006 Sun Microsystems, Inc. All rights reserved.

JSR-209 (Final Approval Ballot)

javax.swing.undo
Interface UndoableEdit

All Known Implementing Classes:
AbstractUndoableEdit

public interface UndoableEdit

An object representing an edit that has been done, and that can be undone and redone.


Method Summary
 boolean addEdit(UndoableEdit anEdit)
          This UndoableEdit should absorb anEdit if it can.
 boolean canRedo()
          True if it is still possible to redo this operation.
 boolean canUndo()
          True if it is still possible to undo this operation.
 void die()
          May be sent to inform an edit that it should no longer be used.
 java.lang.String getPresentationName()
          Provides a localized, human readable description of this edit suitable for use in, say, a change log.
 boolean isSignificant()
          Returns false if this edit is insignificant--for example one that maintains the user's selection, but does not change any model state.
 void redo()
          Re-apply the edit, assuming that it has been undone.
 boolean replaceEdit(UndoableEdit anEdit)
          Returns true if this UndoableEdit should replace anEdit.
 void undo()
          Undo the edit that was made.
 

Method Detail

undo

public void undo()
          throws CannotUndoException
Undo the edit that was made.

Throws:
CannotUndoException

canUndo

public boolean canUndo()
True if it is still possible to undo this operation.


redo

public void redo()
          throws CannotRedoException
Re-apply the edit, assuming that it has been undone.

Throws:
CannotRedoException

canRedo

public boolean canRedo()
True if it is still possible to redo this operation.


die

public void die()
May be sent to inform an edit that it should no longer be used. This is a useful hook for cleaning up state no longer needed once undoing or redoing is impossible--for example, deleting file resources used by objects that can no longer be undeleted. Note that this is a one-way operation. There is no "un-die" method.

See Also:
CompoundEdit.die()

addEdit

public boolean addEdit(UndoableEdit anEdit)
This UndoableEdit should absorb anEdit if it can. Returns true if has been incorporated, false if it has not.

If true is returned, from now on anEdit must return false from canUndo and canRedo, and must throw the appropriate exception on undo or redo.

Parameters:
anEdit - the edit to be added

replaceEdit

public boolean replaceEdit(UndoableEdit anEdit)
Returns true if this UndoableEdit should replace anEdit. The receiver should incorporate anEdit's state before returning true.

If true is returned, from now on anEdit must return false from canUndo() and canRedo(), and must throw the appropriate exception on undo() or redo().


isSignificant

public boolean isSignificant()
Returns false if this edit is insignificant--for example one that maintains the user's selection, but does not change any model state. This status can be used by an UndoableEditListener when deciding which UndoableEdits to present to the user as Undo/Redo options, and which to perform as side effects of undoing or redoing other events.


getPresentationName

public java.lang.String getPresentationName()
Provides a localized, human readable description of this edit suitable for use in, say, a change log.


JSR-209 (Final Approval Ballot)

Copyright © 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to License Terms. Your use of this web site or any of its content or software indicates your agreement to be bound by these License Terms.

For more information, please consult the JSR 209 specification.