Package com.winterhavenmc.library.messagebuilder.pipeline.maps


package com.winterhavenmc.library.messagebuilder.pipeline.maps
Provides internal map types used in macro extraction and message formatting.

This package contains two core classes:

  • MacroObjectMap — a type-safe map that holds raw object values keyed by MacroKey. Used during early phases of the message pipeline, especially in adapter chains.
  • MacroStringMap — a post-processing map that contains validated, formatted string values ready for placeholder substitution.

Both maps serve distinct roles in the transformation of contextual input into localized, player-visible messages. The MacroObjectMap is typically used to carry domain-specific objects forward through the pipeline, whereas the MacroStringMap is constructed just before message composition and delivery.

Validation

MacroStringMap performs lightweight validation when values are inserted. Blank or null strings are flagged (typically for logging), but are not rejected. This ensures message macros are populated consistently, with the option to later replace missing values with default fallbacks such as "Unknown".

Immutability and Thread Safety

Both map types are mutable and are designed for use in single-threaded message construction contexts. They are not thread-safe by design.
See Also: