Package io.cloudstate.javasupport.crdt
Conflict-free Replicated Data Type support.
CRDT entities can be annotated with the @CrdtEntity annotation, and supply command handlers
using the @CommandHandler annotation.
The data stored by a CRDT entity can be stored in a subtype of Crdt. These can be created using a CrdtFactory, which is a super-interface of both the CrdtCreationContext, available for injection constructors, and of
the CommandContext, available for injection in
@CommandHandler annotated methods.
-
Interface Summary Interface Description CommandContext Context for handling a command.Crdt Root interface for all CRDTs.CrdtContext Root context for all CRDT contexts.CrdtCreationContext Context for CRDT creation.CrdtEntityFactory Low level interface for handling commands for CRDTs.CrdtEntityHandler Low level interface for handling CRDT commands.CrdtFactory Factory for creating CRDTs.Flag A flag CRDT.GCounter A Grow-only Counter.GSet<T> A Grow-only Set.LWWRegister<T> A Last-Write-Wins Register.ORMap<K,V extends Crdt> An Observed-Removed Map.ORSet<T> An Observed-Removed Set.PNCounter A Positive-Negative Counter.StreamCancelledContext Context for a stream cancelled event.StreamedCommandContext<Output> Context for handling a streamed command.SubscriptionContext The context for a subscription, passed with every invocation of aStreamedCommandContext.onChange(Function)callback.Vote A Vote CRDT. -
Class Summary Class Description LWWRegisterMap<K,V> Convenience wrapper class forORMapthat usesLWWRegister's for values.PNCounterMap<K> -
Enum Summary Enum Description LWWRegister.Clock A clock. -
Annotation Types Summary Annotation Type Description CommandHandler Marks a method as a command handler.CrdtEntity A CRDT backed entity.