java.lang.Object
com.winterhavenmc.library.messagebuilder.adapters.pipeline.retrievers.LocalizedMessageRetriever
All Implemented Interfaces:
MessageRetriever

public final class LocalizedMessageRetriever extends Object implements MessageRetriever
Default implementation of the MessageRetriever interface that retrieves a MessageRecord

This class ensures safety and consistency by always returning a non-null record. If the underlying query handler fails to provide a valid message, a fallback MessageRecord#empty(com.winterhavenmc.library.messagebuilder.models.keys.RecordKey, InvalidRecordReason) empty record is returned instead.

This class is typically used as the entry point in a MessagePipeline.

See Also:
  • Constructor Details

    • LocalizedMessageRetriever

      public LocalizedMessageRetriever(MessageRepository messageRepository)
      Constructs a LocalizedMessageRetriever using the specified query handler.
  • Method Details

    • getRecord

      public MessageRecord getRecord(ValidMessageKey messageKey)
      Retrieves a MessageRecord

      If the result is not an instance of ValidMessageRecord, this method returns an MessageRecord#empty(com.winterhavenmc.library.messagebuilder.models.keys.RecordKey, InvalidRecordReason) empty record as a safe fallback.

      Specified by:
      getRecord in interface MessageRetriever
      Parameters:
      messageKey - the string used to locate the message record
      Returns:
      a valid or empty message record; never null