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 |
addAllErrors(Collection<TemplateError> other) |
void |
addBlock(String name,
LinkedList<? extends Node> value) |
void |
addError(TemplateError templateError) |
void |
addExtendParentRoot(Node root) |
void |
endRender(String name) |
void |
endRender(String name,
Map<String,Object> data) |
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() |
List<TemplateError> |
getErrorsCopy() |
int |
getLineNumber() |
int |
getPosition() |
Random |
getRandom() |
String |
getResource(String resource) |
int |
getScopeDepth() |
boolean |
isValidationMode() |
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.
|
void |
startRender(String name) |
Object |
wrap(Object object)
Wrap an object in it's PyIsh equivalent
|
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 boolean isValidationMode()
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 Object wrap(Object object)
object
- Bean.public int getLineNumber()
public int getPosition()
public void addError(TemplateError templateError)
public int getScopeDepth()
public void addAllErrors(Collection<TemplateError> other)
public List<TemplateError> getErrors()
public List<TemplateError> getErrorsCopy()
public static JinjavaInterpreter getCurrent()
public static Optional<JinjavaInterpreter> getCurrentMaybe()
public static void pushCurrent(JinjavaInterpreter interpreter)
public static void popCurrent()
public void startRender(String name)
public void endRender(String name)
Copyright © 2019. All rights reserved.