public class JinjavaInterpreter extends Object
Modifier and Type | Class and Description |
---|---|
class |
JinjavaInterpreter.InterpreterScopeClosable |
Constructor and Description |
---|
JinjavaInterpreter(Jinjava application,
Context context,
JinjavaConfig renderConfig) |
JinjavaInterpreter(JinjavaInterpreter orig) |
Modifier and Type | Method and Description |
---|---|
void |
addBlock(String name,
LinkedList<? extends Node> value) |
void |
addError(TemplateError templateError) |
void |
addExtendParentRoot(Node root) |
JinjavaInterpreter.InterpreterScopeClosable |
enterScope()
Creates a new variable scope, extending from the current scope.
|
JinjavaInterpreter.InterpreterScopeClosable |
enterScope(Map<Context.Library,Set<String>> disabled) |
JinjavaConfig |
getConfig() |
JinjavaConfig |
getConfiguration()
Deprecated.
use {
getConfig() } |
Context |
getContext() |
static JinjavaInterpreter |
getCurrent() |
static Optional<JinjavaInterpreter> |
getCurrentMaybe() |
List<TemplateError> |
getErrors() |
int |
getLineNumber() |
Random |
getRandom() |
String |
getResource(String resource) |
int |
getScopeDepth() |
void |
leaveScope() |
Node |
parse(String template) |
static void |
popCurrent() |
static void |
pushCurrent(JinjavaInterpreter interpreter) |
String |
render(Node root)
Render the given root node, processing extend parents.
|
String |
render(Node root,
boolean processExtendRoots)
Render the given root node using this interpreter's current context
|
String |
render(String template)
Parse the given string into a root Node, and then renders it processing extend parents.
|
String |
renderFlat(String template)
Parse the given string into a root Node, and then render it without processing any extend parents.
|
Object |
resolveELExpression(String expression,
int lineNumber)
Resolve expression against current context.
|
Object |
resolveObject(String variable,
int lineNumber) |
Object |
resolveObject(String variable,
int lineNumber,
int startPosition)
Resolve a variable into an object value.
|
Object |
resolveProperty(Object object,
List<String> propertyNames)
Resolve property of bean.
|
Object |
resolveProperty(Object object,
String propertyName)
Resolve property of bean.
|
String |
resolveString(String variable,
int lineNumber) |
String |
resolveString(String variable,
int lineNumber,
int startPosition)
Resolve a variable into a string value.
|
Object |
retraceVariable(String variable,
int lineNumber) |
Object |
retraceVariable(String variable,
int lineNumber,
int startPosition)
Resolve a variable from the interpreter context, returning null if not found.
|
public JinjavaInterpreter(Jinjava application, Context context, JinjavaConfig renderConfig)
public JinjavaInterpreter(JinjavaInterpreter orig)
@Deprecated public JinjavaConfig getConfiguration()
getConfig()
}public void addExtendParentRoot(Node root)
public void addBlock(String name, LinkedList<? extends Node> value)
public JinjavaInterpreter.InterpreterScopeClosable enterScope()
interpreter.enterScope();
try (interpreter.enterScope()) {
// ...
}
public JinjavaInterpreter.InterpreterScopeClosable enterScope(Map<Context.Library,Set<String>> disabled)
public void leaveScope()
public Random getRandom()
public String renderFlat(String template)
template
- string to parsepublic String render(String template)
template
- string to parsepublic String render(Node root)
root
- node to renderpublic String render(Node root, boolean processExtendRoots)
root
- node to renderprocessExtendRoots
- if true, also render all extend parentspublic Object retraceVariable(String variable, int lineNumber, int startPosition)
variable
- name of variable in contextlineNumber
- current line number, for error reportingstartPosition
- current line position, for error reportingpublic Object resolveObject(String variable, int lineNumber, int startPosition)
variable
- name of variable in contextlineNumber
- current line number, for error reportingstartPosition
- current line position, for error reportingpublic String resolveString(String variable, int lineNumber, int startPosition)
variable
- name of variable in contextlineNumber
- current line number, for error reportingstartPosition
- current line position, for error reportingpublic Context getContext()
public String getResource(String resource) throws IOException
IOException
public JinjavaConfig getConfig()
public Object resolveELExpression(String expression, int lineNumber)
expression
- Jinja expression.lineNumber
- Line number of expression.public Object resolveProperty(Object object, String propertyName)
object
- Bean.propertyName
- Name of property to resolve.public Object resolveProperty(Object object, List<String> propertyNames)
object
- Bean.propertyNames
- Names of properties to resolve recursively.public int getLineNumber()
public void addError(TemplateError templateError)
public int getScopeDepth()
public List<TemplateError> getErrors()
public static JinjavaInterpreter getCurrent()
public static Optional<JinjavaInterpreter> getCurrentMaybe()
public static void pushCurrent(JinjavaInterpreter interpreter)
public static void popCurrent()
Copyright © 2018. All rights reserved.