A reusable Java implementation of Undo/Redo functionality using State Diffs.
It uses these Open Source libraries:
- Protostuff for object graph serialization using runtime schema
- JavaxDelta for binary diffing and patching
It provides these features:
- Unlimited Undo and Redo
- Can handle any type of Java object graphs
- Low memory footprint
- Straightforward type-safe API
- Supports stack size listeners
- Gzip compression for the serialized current state
It is Open Source under the Unlicense.
Currently this project is meant for cloning/forking on github, or copy/pasting the code, not yet as a library on Maven Central.
The main API is the History interface.
Create an instance of DiffingHistory to get started.
The DiffingHistoryTest calls all History methods and illustrates the API.