public class StringTemplateEngine
extends java.lang.Object
Engine that replaces all occurences of ${name} with corresponding values from callback defined in StringTemplateEngine.IValueResolver
.
new StringTemplate(valueResolver).format("hello ${first.name}!")
will produce “hello world!” if valueResolver.get(“first”,“name”) returns “world”
Created by k3b on 01.04.2015.
Modifier and Type | Class and Description |
---|---|
static interface |
StringTemplateEngine.IValueResolver
callback for
StringTemplateEngine to resolve the values for names. |
Modifier and Type | Field and Description |
---|---|
protected java.util.Stack<java.lang.String> |
debugStack
if
sedDebugEnabled(boolean) is set to true. this stack will contain debugbessages as callstack |
protected StringTemplateEngine.IValueResolver |
valueResolver
used to convert ${name} to corresponding value
|
Constructor and Description |
---|
StringTemplateEngine(StringTemplateEngine.IValueResolver valueResolver)
creates the engine with
StringTemplateEngine.IValueResolver . |
Modifier and Type | Method and Description |
---|---|
protected void |
debugPop()
debug implementation: pop from stack: forget last
debugPush(String) . |
protected void |
debugPush(java.lang.String parameter)
debug implementation: push to stack.
|
java.lang.String |
format(java.lang.String template)
translates tmeplate to string.
|
protected java.lang.String |
getDebugStackTrace()
show debug stacktrace, if
sedDebugEnabled(boolean) is set to true. |
java.lang.String |
getErrors()
get last error message.
|
protected boolean |
hasParameters(java.lang.String value)
return strue, if value contains tempate parameters
|
protected java.lang.String |
onResolverResult(java.lang.String templateParameter,
java.lang.String resolverResult)
called for every parameter match.
|
StringTemplateEngine |
sedDebugEnabled(boolean enabled)
en- or disables debugging mode.
|
protected StringTemplateEngine.IValueResolver valueResolver
used to convert ${name} to corresponding value
protected java.util.Stack<java.lang.String> debugStack
if sedDebugEnabled(boolean)
is set to true. this stack will contain debugbessages as callstack
public StringTemplateEngine(StringTemplateEngine.IValueResolver valueResolver)
creates the engine with StringTemplateEngine.IValueResolver
.
protected boolean hasParameters(java.lang.String value)
return strue, if value contains tempate parameters
public java.lang.String format(java.lang.String template)
translates tmeplate to string.
protected java.lang.String onResolverResult(java.lang.String templateParameter, java.lang.String resolverResult)
called for every parameter match. Is used to collect debug infos.
public StringTemplateEngine sedDebugEnabled(boolean enabled)
en- or disables debugging mode.
protected void debugPush(java.lang.String parameter)
debug implementation: push to stack.
protected void debugPop()
debug implementation: pop from stack: forget last debugPush(String)
.
protected java.lang.String getDebugStackTrace()
show debug stacktrace, if sedDebugEnabled(boolean)
is set to true.
public java.lang.String getErrors()
get last error message. Error is cleared after reading message.