Verified Owner
Top Description Interfaces Classes Enums
module org.jabref.jablib

Package org.jabref.logic.undo


The undo journal: the stack of changes a user can take back, and the API for putting changes on it.

What a change is lives in org.jabref.model.undo — records describing one modification, from which their own inverse is derived. This package is what turns a stream of such changes into a history:

Two decisions shape what a step is, and both are the caller's to make rather than the journal's to guess: a command records inside one block, and a text editor says that its change is one keystroke of a run (org.jabref.logic.undo.EditSource#TYPING) so that a run becomes one step, ending it with endStep() when it moves on. Everything else is a step of its own.

See Also
ADR-0070

Interface Summary

Modifier and TypeInterface and Description
public interface
CoalescingPolicy

Decides whether a change continues the step on top of the undo stack instead of starting a new one.

public interface
UndoManager

Puts changes on the undo journal.

public interface
UndoSuspension

Undo and redo, suspended for one library while a command applies changes it has not yet handed to the journal.

Class Summary

Modifier and TypeClass and Description
public class
BibChangeDescriber

Names a change as the user would recognise it, for the message the Undo and Redo actions show.

public class
JabRefUndoManager

The undo journal: a stack of changes, and the API for putting changes on it.

Enum Summary

Modifier and TypeEnum and Description
public enum
EditSource

Who is recording a change, as far as grouping into undo steps is concerned.