public abstract class AstNode extends java.lang.Object implements ExpressionNode
| Constructor and Description |
|---|
AstNode() |
| Modifier and Type | Method and Description |
|---|---|
abstract void |
appendStructure(java.lang.StringBuilder builder,
Bindings bindings) |
abstract java.lang.Object |
eval(Bindings bindings,
ELContext context) |
java.lang.String |
getStructuralId(Bindings bindings)
Get the canonical expression string for this node.
|
java.lang.Object |
getValue(Bindings bindings,
ELContext context,
java.lang.Class<?> type)
evaluate and return the (optionally coerced) result.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetMethodInfo, getType, invoke, isLeftValue, isLiteralText, isReadOnly, setValuegetCardinality, getChildpublic final java.lang.Object getValue(Bindings bindings, ELContext context, java.lang.Class<?> type)
getValue in interface ExpressionNodebindings - bindings containing variables and functionscontext - evaluation contexttype - result typepublic abstract void appendStructure(java.lang.StringBuilder builder,
Bindings bindings)
public final java.lang.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