Class ThreadLocalStorage

java.lang.Object
church.i18n.processing.storage.ThreadLocalStorage
All Implemented Interfaces:
MessageStorage, MessageStorageAppender, StorageMessageProvider

public class ThreadLocalStorage extends Object implements MessageStorage
Thread-local storage of additional response messages.
  • Constructor Details

    • ThreadLocalStorage

      public ThreadLocalStorage(@NotNull @NotNull ProcessingIdProvider processingIdProvider)
  • Method Details

    • addMessages

      public void addMessages(@NotNull @NotNull ProcessingMessage... messages)
      Description copied from interface: MessageStorage
      Add messages into message storage.
      Specified by:
      addMessages in interface MessageStorage
      Parameters:
      messages - Messages to append.
    • addMessages

      public void addMessages(@NotNull @NotNull List<ProcessingMessage> messages)
      Description copied from interface: MessageStorage
      Add messages into the thread independent storage.
      Specified by:
      addMessages in interface MessageStorage
      Parameters:
      messages - Messages to append.
    • clearStorage

      public void clearStorage()
      Description copied from interface: MessageStorage
      Clear message from the storage.
      Specified by:
      clearStorage in interface MessageStorage
    • get

      @NotNull public @NotNull List<ProcessingMessage> get()
      Description copied from interface: MessageStorage
      Retrieve all messages from the message storage without clearing them.
      Specified by:
      get in interface MessageStorage
      Returns:
      List of messages in a storage.
    • getAndClear

      @NotNull public @NotNull List<ProcessingMessage> getAndClear()
      Description copied from interface: MessageStorage
      Retrieve all messages from storage and clear messages associated with the processingId.
      Specified by:
      getAndClear in interface MessageStorage
      Returns:
      List of messages in a storage.
    • addMessages

      public void addMessages(@NotNull @NotNull String processingId, @NotNull @NotNull ProcessingMessage... messages)
      Description copied from interface: MessageStorageAppender
      Add messages into the thread independent storage.
      Specified by:
      addMessages in interface MessageStorageAppender
      Parameters:
      processingId - Processing identifier, to associate messages with.
      messages - Messages to append.
    • addMessages

      public void addMessages(@NotNull @NotNull String processingId, @NotNull @NotNull List<ProcessingMessage> messages)
      Description copied from interface: MessageStorageAppender
      Add messages into the thread independent storage.
      Specified by:
      addMessages in interface MessageStorageAppender
      Parameters:
      processingId - Processing identifier, to associate messages with.
      messages - Messages to append.
    • clearStorage

      public void clearStorage(@NotNull @NotNull String processingId)
      Description copied from interface: StorageMessageProvider
      Clear message from the storage associated with processingId.
      Specified by:
      clearStorage in interface StorageMessageProvider
      Parameters:
      processingId - Identifier of messages associated with.
    • get

      @NotNull public @NotNull List<ProcessingMessage> get(@NotNull @NotNull String processingId)
      Description copied from interface: StorageMessageProvider
      Retrieve all messages from the message storage without clearing them.
      Specified by:
      get in interface StorageMessageProvider
      Parameters:
      processingId - Identifier of messages associated with.
      Returns:
      List of messages associated with the processingId.
    • getAndClear

      @NotNull public @NotNull List<ProcessingMessage> getAndClear(@NotNull @NotNull String processingId)
      Description copied from interface: StorageMessageProvider
      Retrieve all messages from storage and clear messages associated with the processingId.
      Specified by:
      getAndClear in interface StorageMessageProvider
      Parameters:
      processingId - Identifier of messages associated with.
      Returns:
      List of messages associated with processingId.
    • toString

      public String toString()
      Overrides:
      toString in class Object