jodd.util
Class StringTemplateParser

java.lang.Object
  extended by jodd.util.StringTemplateParser
Direct Known Subclasses:
BeanTemplateParser

public class StringTemplateParser
extends java.lang.Object

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.


Nested Class Summary
static interface StringTemplateParser.MacroResolver
          Macro value resolver.
 
Field Summary
static java.lang.String DEFAULT_MACRO_END
           
static java.lang.String DEFAULT_MACRO_START
           
protected  char escapeChar
           
protected  java.lang.String macroEnd
           
protected  java.lang.String macroStart
           
protected  java.lang.String missingKeyReplacement
           
protected  boolean parseValues
           
protected  boolean replaceMissingKey
           
protected  boolean resolveEscapes
           
 
Constructor Summary
StringTemplateParser()
           
 
Method Summary
static StringTemplateParser.MacroResolver createMapMacroResolver(java.util.Map map)
          Creates commonly used StringTemplateParser.MacroResolver that resolved macros in the provided map.
 char getEscapeChar()
           
 java.lang.String getMacroEnd()
           
 java.lang.String getMacroStart()
           
 java.lang.String getMissingKeyReplacement()
           
 boolean isParseValues()
           
 boolean isReplaceMissingKey()
           
 boolean isResolveEscapes()
           
 java.lang.String parse(java.lang.String template, StringTemplateParser.MacroResolver macroResolver)
          Parses string template and replaces macros with resolved values.
 void setEscapeChar(char escapeChar)
          Defines escape character.
 void setMacroEnd(java.lang.String macroEnd)
          Defines macro end string.
 void setMacroStart(java.lang.String macroStart)
          Defines macro start string.
 void setMissingKeyReplacement(java.lang.String missingKeyReplacement)
          Specifies replacement for missing keys.
 void setParseValues(boolean parseValues)
          Defines if macro values has to be parsed, too.
 void setReplaceMissingKey(boolean replaceMissingKey)
          Specifies if missing keys should be resolved at all, true by default.
 void setResolveEscapes(boolean resolveEscapes)
          Specifies if escaped values should be resolved.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

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

replaceMissingKey

protected boolean replaceMissingKey

missingKeyReplacement

protected java.lang.String missingKeyReplacement

resolveEscapes

protected boolean resolveEscapes

macroStart

protected java.lang.String macroStart

macroEnd

protected java.lang.String macroEnd

escapeChar

protected char escapeChar

parseValues

protected boolean parseValues
Constructor Detail

StringTemplateParser

public StringTemplateParser()
Method Detail

isReplaceMissingKey

public boolean isReplaceMissingKey()

setReplaceMissingKey

public void 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.


getMissingKeyReplacement

public java.lang.String getMissingKeyReplacement()

setMissingKeyReplacement

public void setMissingKeyReplacement(java.lang.String missingKeyReplacement)
Specifies replacement for missing keys. If null exception will be thrown.


isResolveEscapes

public boolean isResolveEscapes()

setResolveEscapes

public void 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.


getMacroStart

public java.lang.String getMacroStart()

setMacroStart

public void setMacroStart(java.lang.String macroStart)
Defines macro start string.


getMacroEnd

public java.lang.String getMacroEnd()

setMacroEnd

public void setMacroEnd(java.lang.String macroEnd)
Defines macro end string.


getEscapeChar

public char getEscapeChar()

setEscapeChar

public void setEscapeChar(char escapeChar)
Defines escape character.


isParseValues

public boolean isParseValues()

setParseValues

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


parse

public java.lang.String parse(java.lang.String template,
                              StringTemplateParser.MacroResolver macroResolver)
Parses string template and replaces macros with resolved values.


createMapMacroResolver

public static StringTemplateParser.MacroResolver createMapMacroResolver(java.util.Map map)
Creates commonly used StringTemplateParser.MacroResolver that resolved macros in the provided map.



Copyright © 2003-2012 Jodd Team