Class 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 Detail

      • StateRepositorySnapshotProvider

        public StateRepositorySnapshotProvider​(java.lang.String channelName,
                                               StateRepository<E> stateRepository)
    • Method Detail

      • channelName

        public java.lang.String channelName()
        Description copied from interface: SnapshotProvider
        The name of the subscribable messaging channel.
        Specified by:
        channelName in interface SnapshotProvider
        Returns:
        channel name
      • snapshot

        public java.util.stream.Stream<? extends Message<?>> snapshot​(java.lang.String entityId)
        Description copied from interface: SnapshotProvider
        Returns a stream containing all Messages required to get the most current snapshot for the entity that is identified by the given entityId
        Specified by:
        snapshot in interface SnapshotProvider
        Parameters:
        entityId - the identifier used to select a single entity.
        Returns:
        Stream of messages