Package org.acm.seguin.refactor.undo

The undo package is responsible for being able to undo the refactoring operations.

See:
          Description

Interface Summary
UndoAction Stores the undo operation.
 

Class Summary
DefaultUndoAction Stores the undo operation.
FileSet A set of files that are bound together by the undo operation.
UndoCleaner Clase responsible for cleaning up all the undo files that are left on the hard disk.
UndoStack The stack of refactorings that we can undo.
 

Package org.acm.seguin.refactor.undo Description

The undo package is responsible for being able to undo the refactoring operations. This package currently consists of two objects. One is the stack that maintains a list of all the undo actions. The second is the specific action that can be undone.

There is no support yet for redoing actions.

Undoing a particular change to a specific file are stored by renaming the current file with an extension, .java.# where # is the number of times the file has been changed by the refactoring tool. Let's call this method of storing the previous incarnations of a file an indexed file.

An undo action then has a number of indexed files associated with them. It also has a description of the refactoring so that a user interface component can display a list of refactorings to undo.

The undo stack then holds all the undo action objects. It uses a singleton pattern to insure that only a single instance of the undo stack is present in the editor at a time.