Package jodd.util
Class StringTemplateParser
- java.lang.Object
-
- jodd.util.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 Summary
Fields Modifier and Type Field Description static java.lang.StringDEFAULT_MACRO_ENDstatic java.lang.StringDEFAULT_MACRO_PREFIXstatic java.lang.StringDEFAULT_MACRO_START
-
Constructor Summary
Constructors Constructor Description StringTemplateParser(java.util.function.Function<java.lang.String,java.lang.String> macroResolver)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Stringapply(java.lang.String template)Parses string template and replaces macros with resolved values.static StringTemplateParserof(java.util.function.Function<java.lang.String,java.lang.String> macroResolver)static StringTemplateParserofBean(java.lang.Object context)static StringTemplateParserofMap(java.util.Map map)StringTemplateParsersetEscapeChar(char escapeChar)Defines escape character.StringTemplateParsersetMacroEnd(java.lang.String macroEnd)Defines macro end string.StringTemplateParsersetMacroPrefix(java.lang.String macroPrefix)StringTemplateParsersetMacroStart(java.lang.String macroStart)Defines macro start string.StringTemplateParsersetMissingKeyReplacement(java.lang.String missingKeyReplacement)Specifies replacement for missing keys.StringTemplateParsersetParseValues(boolean parseValues)Defines if macro values has to be parsed, too.StringTemplateParsersetReplaceMissingKey(boolean replaceMissingKey)Specifies if missing keys should be resolved at all,trueby default.StringTemplateParsersetResolveEscapes(boolean resolveEscapes)Specifies if escaped values should be resolved.StringTemplateParsersetStrictFormat()Sets the strict format by setting the macro prefix tonull.
-
-
-
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
-
-
Method Detail
-
of
public static StringTemplateParser of(java.util.function.Function<java.lang.String,java.lang.String> macroResolver)
-
ofMap
public static StringTemplateParser ofMap(java.util.Map map)
-
ofBean
public static StringTemplateParser ofBean(java.lang.Object context)
-
setReplaceMissingKey
public StringTemplateParser setReplaceMissingKey(boolean replaceMissingKey)
Specifies if missing keys should be resolved at all,trueby default. Iffalsemissing 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. Ifnullexception 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 tofalseso escaped values remains.
-
setMacroStart
public StringTemplateParser setMacroStart(java.lang.String macroStart)
Defines macro start string.
-
setMacroPrefix
public StringTemplateParser setMacroPrefix(java.lang.String macroPrefix)
-
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 tonull.
-
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:
applyin interfacejava.util.function.Function<java.lang.String,java.lang.String>
-
-