All Known Implementing Classes:
AtomicResolver, CompositeResolver, FieldResolver
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface Resolver
Defines a contract for resolving values from a MacroObjectMap into a set of string-replaceable entries mapped by MacroKeys.

A Resolver converts one or more input objects associated with a given macro key into a MacroStringMap, where each entry corresponds to a placeholder that may be used in a templated message or text.

Implementations may vary in complexity:

This interface supports functional-style composition and may be used in lambda form where appropriate.
See Also:
  • Method Details

    • resolve

      MacroStringMap resolve(MacroKey key, MacroObjectMap macroObjectMap)
      Resolves a set of string values from the given MacroObjectMap for the provided MacroKey. Each resolved value corresponds to a macro placeholder that may appear in a templated message.

      The resulting MacroStringMap may contain one or more entries. Implementations may also return an empty map if no resolution was possible.

      Parameters:
      key - the base macro key used to look up and resolve objects
      macroObjectMap - the map of objects available for macro resolution
      Returns:
      a MacroStringMap containing resolved macro key-value pairs