public final class ExpressionBuilder extends java.lang.Object implements NodeVisitor
Modifier and Type | Class and Description |
---|---|
private static class |
ExpressionBuilder.NodeSoftReference |
private static class |
ExpressionBuilder.SoftConcurrentHashMap |
Modifier and Type | Field and Description |
---|---|
private static ExpressionBuilder.SoftConcurrentHashMap |
cache |
private java.lang.String |
expression |
private FunctionMapper |
fnMapper |
private VariableMapper |
varMapper |
Constructor and Description |
---|
ExpressionBuilder(java.lang.String expression,
ELContext ctx) |
Modifier and Type | Method and Description |
---|---|
private Node |
build() |
MethodExpression |
createMethodExpression(java.lang.Class expectedReturnType,
java.lang.Class[] expectedParamTypes) |
static Node |
createNode(java.lang.String expr) |
private static Node |
createNodeInternal(java.lang.String expr) |
ValueExpression |
createValueExpression(java.lang.Class expectedType) |
private void |
prepare(Node node)
Scan the expression nodes and captures the functions and variables used
in this expression.
|
void |
visit(Node node) |
private static final ExpressionBuilder.SoftConcurrentHashMap cache
private FunctionMapper fnMapper
private VariableMapper varMapper
private java.lang.String expression
public ExpressionBuilder(java.lang.String expression, ELContext ctx) throws ELException
ELException
public static final Node createNode(java.lang.String expr) throws ELException
ELException
private static final Node createNodeInternal(java.lang.String expr) throws ELException
ELException
private void prepare(Node node) throws ELException
ELException
private Node build() throws ELException
ELException
public void visit(Node node) throws ELException
visit
in interface NodeVisitor
ELException
public ValueExpression createValueExpression(java.lang.Class expectedType) throws ELException
ELException
public MethodExpression createMethodExpression(java.lang.Class expectedReturnType, java.lang.Class[] expectedParamTypes) throws ELException
ELException