/diffing-history

Primary LanguageJavaThe UnlicenseUnlicense

diffing-history

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.

Usage

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.