public abstract class AstNode extends Object implements ExpressionNode
Constructor and Description |
---|
AstNode() |
Modifier and Type | Method and Description |
---|---|
abstract void |
appendStructure(StringBuilder builder,
Bindings bindings) |
abstract Object |
eval(Bindings bindings,
ELContext context) |
String |
getStructuralId(Bindings bindings)
Get the canonical expression string for this node.
|
Object |
getValue(Bindings bindings,
ELContext context,
Class<?> type)
evaluate and return the (optionally coerced) result.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getMethodInfo, getType, getValueReference, invoke, isLeftValue, isLiteralText, isMethodInvocation, isReadOnly, setValue
getCardinality, getChild
public final Object getValue(Bindings bindings, ELContext context, Class<?> type)
getValue
in interface ExpressionNode
bindings
- bindings containing variables and functionscontext
- evaluation contexttype
- result typepublic abstract void appendStructure(StringBuilder builder, Bindings bindings)
public final String getStructuralId(Bindings bindings)
ExpressionNode
"${foo:bar()+2*foobar}"
may lead to
"${<fn>() + 2 * <var>}"
if foobar
is a bound variable.
Otherwise, the structural id would be "${<fn>() + 2 * foobar}"
.
If the bindings is null
, the full canonical subexpression is returned.getStructuralId
in interface ExpressionNode
Copyright © 2021. All rights reserved.