public interface AdditionalStringResolver
Implementors of the interface should have a no-args constructor and not need any injected dependencies. The
StringResolver will create instances
of each class that implements this interface, and invoke it from
StringResolver.substVars(String, Map, Map, Set, String, String, boolean).
Implementors are loaded via the JDK
It is not allowed to use a static reference to the logger in implementations. Log4j2 uses StringResolver during instantiation.
|Modifier and Type||Method and Description|
Method to implement string resolution.
Optional<String> resolve(String key, Map<?,?> props1, Map<?,?> props2, Set<String> propsToHide, String delimStart, String delimStop, boolean resolveWithPropertyName)
Parameters are mostly as from
StringResolver.substVars(String, Map, Map, Set, String, String, boolean), except the first parameter,
key, which is the key to be resolved instead of the full string in which to substitute.
key- Key to look up
props1- First property map in which to look up values
props2- Second property map in which to look up values
propsToHide- List of properties to hide. If
null, then no hiding of properties should be done. If not
null, any properties whose name is in the collection will be hidden by the caller but the implementation may make its own decision on hiding property values. For instance, hiding credentials.
delimStart- Start delimiter, normally only needed by caller
delimStop- End delimiter, normally only needed by caller
resolveWithPropertyName- Flag if values should be prefixed with name of resolved property, normally only needed by caller.
Optional.empty()if it cannot be resolved by this implementation. If
Optional.empty()is returned, the
StringResolverwill then continue to try resolving the
key. If any non-empty
Optionalis returned, the
StringResolverwill use the value of that as value for the
keyand not look for other resolutions for the key.
Copyright © 2023 Frank!Framework. All rights reserved.