private class UnifiedJEXL.CompositeExpression extends UnifiedJEXL.Expression
| Modifier and Type | Field and Description |
|---|---|
protected UnifiedJEXL.Expression[] |
exprs
The list of sub-expression resulting from parsing.
|
private int |
meta
Bit encoded (deferred count > 0) bit 1, (immediate count > 0) bit 0.
|
source| Constructor and Description |
|---|
CompositeExpression(int[] counters,
java.util.ArrayList<UnifiedJEXL.Expression> list,
UnifiedJEXL.Expression src)
Creates a composite expression.
|
| Modifier and Type | Method and Description |
|---|---|
java.lang.StringBuilder |
asString(java.lang.StringBuilder strb)
Adds this expression's string representation to a StringBuilder.
|
protected java.lang.Object |
evaluate(Interpreter interpreter)
Intreprets a sub-expression.
|
(package private) UnifiedJEXL.ExpressionType |
getType()
Gets this expression type.
|
java.util.Set<java.util.List<java.lang.String>> |
getVariables()
Gets the list of variables accessed by this expression.
|
boolean |
isImmediate()
Checks whether this expression is immediate.
|
protected UnifiedJEXL.Expression |
prepare(Interpreter interpreter)
Prepares a sub-expression for interpretation.
|
asString, evaluate, getSource, getVariables, isDeferred, prepare, toStringprivate final int meta
protected final UnifiedJEXL.Expression[] exprs
CompositeExpression(int[] counters,
java.util.ArrayList<UnifiedJEXL.Expression> list,
UnifiedJEXL.Expression src)
counters - counters of expression per typelist - the sub-expressionssrc - the source for this expresion if anypublic boolean isImmediate()
isImmediate in class UnifiedJEXL.ExpressionUnifiedJEXL.ExpressionType getType()
getType in class UnifiedJEXL.Expressionpublic java.lang.StringBuilder asString(java.lang.StringBuilder strb)
asString in class UnifiedJEXL.Expressionstrb - the builder to fillpublic java.util.Set<java.util.List<java.lang.String>> getVariables()
This method will visit all nodes of the sub-expressions and extract all variables whether they are written in 'dot' or 'bracketed' notation. (a.b is equivalent to a['b']).
getVariables in class UnifiedJEXL.Expressionprotected UnifiedJEXL.Expression prepare(Interpreter interpreter)
prepare in class UnifiedJEXL.Expressioninterpreter - a JEXL interpreterprotected java.lang.Object evaluate(Interpreter interpreter)
evaluate in class UnifiedJEXL.Expressioninterpreter - a JEXL interpreter