event_sourcing_data library

Implementations for the Event Sourcing api. They implement each EventSourcedModel kind using Singly linked lists, Doubly linked lists and the UndoTree data structures.

Classes

DoublyLinkedEventSourcedModel<S extends EventSourcedSnapshot<S, B, E>, B extends EventSourcedSnapshotBuilder<S, B, E>, E extends UndoableEventSourcedEvent<S, B, E>>
An UndoableEventSourcedModel which uses an DoubleLinkedQueueEntry as the backing data structure.
DoublyLinkedEventSourcedModelCodec<S extends EventSourcedSnapshot<S, B, E>, B extends EventSourcedSnapshotBuilder<S, B, E>, E extends UndoableEventSourcedEvent<S, B, E>>
An Codec which can encode and decode an DoublyLinkedEventSourcedModel.
EventSourcedEvent<S extends EventSourcedSnapshot<S, B, E>, B extends EventSourcedSnapshotBuilder<S, B, E>, E extends EventSourcedEvent<S, B, E>>
An event that can mutate an EventSourcedModel by performing changes to an EventSourcedSnapshotBuilder forwards.
EventSourcedModel<S extends EventSourcedSnapshot<S, B, E>, B extends EventSourcedSnapshotBuilder<S, B, E>, E extends EventSourcedEvent<S, B, E>>
An event sourced model which can add events, moving forward.
EventSourcedSnapshot<S extends EventSourcedSnapshot<S, B, E>, B extends EventSourcedSnapshotBuilder<S, B, E>, E extends EventSourcedEvent<S, B, E>>
An snapshot of the current EventSourcedModel. It should be immutable, and the only way to change it is via an EventSourcedSnapshotBuilder.
EventSourcedSnapshotBuilder<S extends EventSourcedSnapshot<S, B, E>, B extends EventSourcedSnapshotBuilder<S, B, E>, E extends EventSourcedEvent<S, B, E>>
An mutable Builder that can create an immutable EventSourcedSnapshot for an EventSourcedModel.
ModelUndoState
An class which contains the information about undoing at the current EventSourcedModel state. null at the fields means the operation is not supported by the EventSourcedModel in question.
SinglyLinkedEventSourcedModel<S extends EventSourcedSnapshot<S, B, E>, B extends EventSourcedSnapshotBuilder<S, B, E>, E extends EventSourcedEvent<S, B, E>>
An EventSourcedModel which uses an LinkedList as the backing data structure.
SinglyLinkedEventSourcedModelCodec<S extends EventSourcedSnapshot<S, B, E>, B extends EventSourcedSnapshotBuilder<S, B, E>, E extends EventSourcedEvent<S, B, E>>
An Codec which can encode and decode an SinglyLinkedEventSourcedModel.
TreeUndoableEventSourcedModel<S extends EventSourcedSnapshot<S, B, E>, B extends EventSourcedSnapshotBuilder<S, B, E>, E extends UndoableEventSourcedEvent<S, B, E>>
An event sourced model which can add events, moving forward, move the event cursor backwards, moving backwards and creating subbranches when adding events while not on a tip.
UndoableEventSourcedEvent<S extends EventSourcedSnapshot<S, B, E>, B extends EventSourcedSnapshotBuilder<S, B, E>, E extends UndoableEventSourcedEvent<S, B, E>>
An event that can mutate an EventSourcedModel by performing changes to an EventSourcedSnapshotBuilder both forwards and backwards.
UndoableEventSourcedModel<S extends EventSourcedSnapshot<S, B, E>, B extends EventSourcedSnapshotBuilder<S, B, E>, E extends UndoableEventSourcedEvent<S, B, E>>
An event sourced model which can add events, moving forward and move the event cursor backwards, moving backwards.
UndoTreeEventSourcedModel<S extends EventSourcedSnapshot<S, B, E>, B extends EventSourcedSnapshotBuilder<S, B, E>, E extends UndoableEventSourcedEvent<S, B, E>>
An TreeUndoableEventSourcedModel which uses an UndoTree as the backing data structure.
UndoTreeEventSourcedModelCodec<S extends EventSourcedSnapshot<S, B, E>, B extends EventSourcedSnapshotBuilder<S, B, E>, E extends UndoableEventSourcedEvent<S, B, E>>
An Codec which can encode and decode an UndoTreeEventSourcedModel.