java.lang.Object
com.winterhavenmc.library.messagebuilder.pipeline.processor.MessageProcessor
All Implemented Interfaces:
Processor

public class MessageProcessor extends Object implements Processor
Default implementation of the Processor interface responsible for performing macro replacement on message fields.

This class uses a MacroReplacer to apply all relevant placeholder substitutions on a ValidMessageRecord, producing a new FinalMessageRecord with all final strings populated.

It serves as the final step in the message pipeline before rendering or dispatching.

See Also:
  • Constructor Details

    • MessageProcessor

      public MessageProcessor(Resolver resolver, Matcher placeholderMatcher)
      Constructs a MessageProcessor using the provided Resolver and Matcher to configure the underlying MacroReplacer.
      Parameters:
      resolver - the macro resolver used to extract string representations from context objects
      placeholderMatcher - the placeholder matcher used to detect macro keys in strings
  • Method Details

    • process

      public FinalMessageRecord process(ValidMessageRecord messageRecord, MacroObjectMap macroObjectMap)
      Processes a ValidMessageRecord by replacing all macros in its fields using the provided MacroObjectMap.

      This includes the message, title, and subtitle fields, which are resolved and returned as part of a new FinalMessageRecord.

      Specified by:
      process in interface Processor
      Parameters:
      messageRecord - the valid message record to process
      macroObjectMap - the macro context object map used to resolve placeholder values
      Returns:
      a FinalMessageRecord with all macros resolved and final strings populated