Class StateRepositorySnapshotProvider<E>

java.lang.Object
de.otto.synapse.subscription.StateRepositorySnapshotProvider<E>
Type Parameters:
E -
All Implemented Interfaces:
SnapshotProvider

public class StateRepositorySnapshotProvider<E>
extends java.lang.Object
implements SnapshotProvider
A SnapshotProvider that is relying on a StateRepository to generate the snapshot messages for a given entity-id.

Using an EntityToMessageListTransformer, the entities stored in the StateRepository can be transformed into a sequence of messages. This is especially required, if the representation of the entity does not match the payload of the snapshot messages.

  • Constructor Summary

    Constructors 
    Constructor Description
    StateRepositorySnapshotProvider​(java.lang.String channelName, StateRepository<E> stateRepository)  
    StateRepositorySnapshotProvider​(java.lang.String channelName, StateRepository<E> stateRepository, EntityToMessageListTransformer<E> entityToMessagesTransformer)  
  • Method Summary

    Modifier and Type Method Description
    java.lang.String channelName()
    The name of the subscribable messaging channel.
    java.util.stream.Stream<? extends Message<?>> snapshot​(java.lang.String entityId)
    Returns a stream containing all Messages required to get the most current snapshot for the entity that is identified by the given entityId

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait