Class StringTemplateParser

java.lang.Object
jodd.util.StringTemplateParser
All Implemented Interfaces:
Function<String,String>

public class StringTemplateParser extends Object implements Function<String,String>
Parser for string macro templates. On parsing, macro values in provided string are resolved and replaced with real values. Once set, one string template parser can be reused for parsing, even using different macro resolvers.
  • Field Details

    • DEFAULT_MACRO_PREFIX

      public static final String DEFAULT_MACRO_PREFIX
      See Also:
    • DEFAULT_MACRO_START

      public static final String DEFAULT_MACRO_START
      See Also:
    • DEFAULT_MACRO_END

      public static final String DEFAULT_MACRO_END
      See Also:
    • macroResolver

      private final Function<String,String> macroResolver
    • replaceMissingKey

      private boolean replaceMissingKey
    • missingKeyReplacement

      private String missingKeyReplacement
    • resolveEscapes

      private boolean resolveEscapes
    • macroPrefix

      private String macroPrefix
    • macroStart

      private String macroStart
    • macroEnd

      private String macroEnd
    • escapeChar

      private char escapeChar
    • parseValues

      private boolean parseValues
  • Constructor Details

  • Method Details

    • of

      public static StringTemplateParser of(Function<String,String> macroResolver)
    • ofMap

      public static StringTemplateParser ofMap(Map map)
    • ofBean

      public static StringTemplateParser ofBean(Object context)
    • setReplaceMissingKey

      public StringTemplateParser setReplaceMissingKey(boolean replaceMissingKey)
      Specifies if missing keys should be resolved at all, true by default. If false missing keys will be left as it were, i.e. they will not be replaced.
    • setMissingKeyReplacement

      public StringTemplateParser setMissingKeyReplacement(String missingKeyReplacement)
      Specifies replacement for missing keys. If null exception will be thrown.
    • setResolveEscapes

      public StringTemplateParser setResolveEscapes(boolean resolveEscapes)
      Specifies if escaped values should be resolved. In special usecases, when the same string has to be processed more then once, this may be set to false so escaped values remains.
    • setMacroStart

      public StringTemplateParser setMacroStart(String macroStart)
      Defines macro start string.
    • setMacroPrefix

      public StringTemplateParser setMacroPrefix(String macroPrefix)
    • setMacroEnd

      public StringTemplateParser setMacroEnd(String macroEnd)
      Defines macro end string.
    • setStrictFormat

      public StringTemplateParser setStrictFormat()
      Sets the strict format by setting the macro prefix to null.
    • setEscapeChar

      public StringTemplateParser setEscapeChar(char escapeChar)
      Defines escape character.
    • setParseValues

      public StringTemplateParser setParseValues(boolean parseValues)
      Defines if macro values has to be parsed, too. By default, macro values are returned as they are.
    • apply

      public String apply(String template)
      Parses string template and replaces macros with resolved values.
      Specified by:
      apply in interface Function<String,String>