Class DelegatingSnapshotMessageStore

    • Constructor Detail

      • DelegatingSnapshotMessageStore

        public DelegatingSnapshotMessageStore​(MessageStore delegate)
    • Method Detail

      • getChannelNames

        public java.util.Set<java.lang.String> getChannelNames()
        Description copied from interface: MessageStore
        Returns a set containing the channel names of the messages contained in the MessageStore
        Specified by:
        getChannelNames in interface MessageStore
        Returns:
        set of channel names
      • getLatestChannelPosition

        public ChannelPosition getLatestChannelPosition​(java.lang.String channelName)
        Description copied from interface: MessageStore
        Returns the latest ChannelPosition of the given channel, derived from the messages contained in this MessageStore.

        The position is calculated by merging the optional positions of the messages.

        Messages without positions will not change the latest ChannelPosition. If no message contains position information, the returned ChannelPosition is ChannelPosition.fromHorizon()

        Specified by:
        getLatestChannelPosition in interface MessageStore
        Parameters:
        channelName - the name of the channel
        Returns:
        ChannelPosition
      • stream

        public java.util.stream.Stream<MessageStoreEntry> stream()
        Description copied from interface: MessageStore
        Returns a Stream of all entries contained in the MessageStore.

        The stream will maintain the insertion order of the entries.

        Specified by:
        stream in interface MessageStore
        Returns:
        Stream of entries
      • stream

        public java.util.stream.Stream<MessageStoreEntry> stream​(Index index,
                                                                 java.lang.String value)
        Description copied from interface: MessageStore
        Returns a Stream of all entries contained in the MessageStore that have are matching the given Index value (optional operation).

        The stream will maintain the insertion order of the entries.

        Specified by:
        stream in interface MessageStore
        Parameters:
        index - the Index
        value - the value identifying the requested messages in the specified index
        Returns:
        stream of message-store entries matching the index or emptyStream, if the index is not known, or if there are no entries
      • add

        @Deprecated
        public void add​(@Nonnull
                        MessageStoreEntry entry)
        Deprecated.
        Unsupported operation.
        Guaranteed to throw an exception and leave the message store unmodified.
        Specified by:
        add in interface MessageStore
        Parameters:
        entry - element to be appended to this message store
        Throws:
        java.lang.UnsupportedOperationException - always
      • size

        public long size()
        Description copied from interface: MessageStore
        Returns the number of messages contained in the MessageStore.

        Primarily used for testing purposes. If the MessageStore can not implement this without major performance impacts (like, for example, having to download and parse huge files from S3), the method is not required to be implemented.

        Specified by:
        size in interface MessageStore
        Returns:
        number of messages
      • close

        public void close()
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface MessageStore