Package jodd.util

Class StringTemplateParser

  • All Implemented Interfaces:
    java.util.function.Function<java.lang.String,​java.lang.String>

    public class StringTemplateParser
    extends java.lang.Object
    implements java.util.function.Function<java.lang.String,​java.lang.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 Detail

      • DEFAULT_MACRO_PREFIX

        public static final java.lang.String DEFAULT_MACRO_PREFIX
        See Also:
        Constant Field Values
      • DEFAULT_MACRO_START

        public static final java.lang.String DEFAULT_MACRO_START
        See Also:
        Constant Field Values
      • DEFAULT_MACRO_END

        public static final java.lang.String DEFAULT_MACRO_END
        See Also:
        Constant Field Values
    • Constructor Detail

      • StringTemplateParser

        public StringTemplateParser​(java.util.function.Function<java.lang.String,​java.lang.String> macroResolver)
    • Method Detail

      • of

        public static StringTemplateParser of​(java.util.function.Function<java.lang.String,​java.lang.String> macroResolver)
      • 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​(java.lang.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​(java.lang.String macroStart)
        Defines macro start string.
      • setMacroEnd

        public StringTemplateParser setMacroEnd​(java.lang.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 java.lang.String apply​(java.lang.String template)
        Parses string template and replaces macros with resolved values.
        Specified by:
        apply in interface java.util.function.Function<java.lang.String,​java.lang.String>