|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.commons.jexl2.UnifiedJEXL.Expression
public abstract class UnifiedJEXL.Expression
The abstract base class for all expressions, immediate '${...}' and deferred '#{...}'.
Field Summary | |
---|---|
protected UnifiedJEXL.Expression |
source
The source of this expression (see prepare(org.apache.commons.jexl2.JexlContext) ). |
Method Summary | |
---|---|
java.lang.String |
asString()
Generates this expression's string representation. |
abstract java.lang.StringBuilder |
asString(java.lang.StringBuilder strb)
Adds this expression's string representation to a StringBuilder. |
protected abstract java.lang.Object |
evaluate(Interpreter interpreter)
Intreprets a sub-expression. |
java.lang.Object |
evaluate(JexlContext context)
Evaluates this expression. |
UnifiedJEXL.Expression |
getSource()
Retrieves this expression's source expression. |
java.util.Set<java.util.List<java.lang.String>> |
getVariables()
Gets the list of variables accessed by this expression. |
protected void |
getVariables(java.util.Set<java.util.List<java.lang.String>> refs)
Fills up the list of variables accessed by this expression. |
boolean |
isDeferred()
Checks whether this expression is deferred. |
boolean |
isImmediate()
Checks whether this expression is immediate. |
protected UnifiedJEXL.Expression |
prepare(Interpreter interpreter)
Prepares a sub-expression for interpretation. |
UnifiedJEXL.Expression |
prepare(JexlContext context)
Evaluates the immediate sub-expressions. |
java.lang.String |
toString()
Formats this expression, adding its source string representation in comments if available: 'expression /*= source *\/'' . |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected final UnifiedJEXL.Expression source
prepare(org.apache.commons.jexl2.JexlContext)
).
Method Detail |
---|
public boolean isImmediate()
public final boolean isDeferred()
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String asString()
public abstract java.lang.StringBuilder asString(java.lang.StringBuilder strb)
strb
- the builder to fill
public 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']).
protected void getVariables(java.util.Set<java.util.List<java.lang.String>> refs)
refs
- the set of variable being filledpublic UnifiedJEXL.Expression prepare(JexlContext context)
When the expression is dependant upon immediate and deferred sub-expressions, evaluates the immediate sub-expressions with the context passed as parameter and returns this expression deferred form.
In effect, this binds the result of the immediate sub-expressions evaluation in the context, allowing to differ evaluation of the remaining (deferred) expression within another context. This only has an effect to nested & composite expressions that contain differed & immediate sub-expressions.
If the underlying JEXL engine is silent, errors will be logged through its logger as warning.
Note: do not override; will be made final in a future release.
context
- the context to use for immediate expression evaluations
JexlEngine
is running in silent mode
UnifiedJEXL.Exception
- if an error occurs and the JexlEngine
is not in silent modepublic java.lang.Object evaluate(JexlContext context)
If the underlying JEXL engine is silent, errors will be logged through its logger as warning.
Note: do not override; will be made final in a future release.
context
- the variable context
JexlEngine
is
running in silent mode
UnifiedJEXL.Exception
- if an error occurs and the JexlEngine
is not silentpublic final UnifiedJEXL.Expression getSource()
protected UnifiedJEXL.Expression prepare(Interpreter interpreter)
interpreter
- a JEXL interpreter
JexlException
- (only for nested & composite)protected abstract java.lang.Object evaluate(Interpreter interpreter)
interpreter
- a JEXL interpreter
JexlException
- (only for nested & composite)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |