Class FieldResolver
java.lang.Object
com.winterhavenmc.library.messagebuilder.pipeline.resolvers.FieldResolver
- All Implemented Interfaces:
Resolver
A
Resolver
implementation that delegates resolution to a chain of
other Resolver
instances in order.
This class attempts to resolve macro values by invoking each resolver in the order provided during construction. Results from earlier resolvers in the chain take precedence—if a macro key has already been mapped, subsequent resolvers will not overwrite it.
Typical usage involves registering a CompositeResolver
first, followed by
an AtomicResolver
, allowing composite (adapted) values to take priority
over simpler atomic ones only if the base key has not already been defined.
Resolver resolver = new FieldResolver(List.of(
new CompositeResolver(),
new AtomicResolver()
));
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionFieldResolver
(List<Resolver> resolvers) Constructs aFieldResolver
with the given list of delegate resolvers. -
Method Summary
Modifier and TypeMethodDescriptionresolve
(MacroKey macroKey, MacroObjectMap macroObjectMap) Resolves aMacroKey
using the available macro objects in the givenMacroObjectMap
, by delegating to each registered resolver in sequence.
-
Constructor Details
-
FieldResolver
Constructs aFieldResolver
with the given list of delegate resolvers. The resolvers will be invoked in the order provided.- Parameters:
resolvers
- the ordered list ofResolver
instances to delegate to
-
-
Method Details
-
resolve
Resolves aMacroKey
using the available macro objects in the givenMacroObjectMap
, by delegating to each registered resolver in sequence.Values resolved earlier take precedence—existing keys in the result map will not be overwritten by later resolvers.
- Specified by:
resolve
in interfaceResolver
- Parameters:
macroKey
- the base key to resolve values formacroObjectMap
- the object map containing macro values to be resolved- Returns:
- a
MacroStringMap
containing resolved key-value pairs
-