Package de.otto.synapse.subscription
Class StateRepositorySnapshotProvider<E>
java.lang.Object
de.otto.synapse.subscription.StateRepositorySnapshotProvider<E>
- Type Parameters:
E-
- All Implemented Interfaces:
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
ConstructorsConstructorDescriptionStateRepositorySnapshotProvider(String channelName, StateRepository<E> stateRepository) StateRepositorySnapshotProvider(String channelName, StateRepository<E> stateRepository, EntityToMessageListTransformer<E> entityToMessagesTransformer) -
Method Summary
-
Constructor Details
-
StateRepositorySnapshotProvider
-
StateRepositorySnapshotProvider
public StateRepositorySnapshotProvider(String channelName, StateRepository<E> stateRepository, EntityToMessageListTransformer<E> entityToMessagesTransformer)
-
-
Method Details
-
channelName
Description copied from interface:SnapshotProviderThe name of the subscribable messaging channel.- Specified by:
channelNamein interfaceSnapshotProvider- Returns:
- channel name
-
snapshot
Description copied from interface:SnapshotProviderReturns a stream containing all Messages required to get the most current snapshot for the entity that is identified by the given entityId- Specified by:
snapshotin interfaceSnapshotProvider- Parameters:
entityId- the identifier used to select a single entity.- Returns:
- Stream of messages
-