org.apache.commons.jexl3
Interface JexlExpression

All Known Implementing Classes:
Closure, Script, Script.Curried

public interface JexlExpression

Represents a single JEXL expression.

This simple interface provides access to the underlying textual expression through getSourceText().

An expression is different than a script - it is simply a reference to a single expression, not to multiple statements. This implies 'if','for','while','var' and blocks '{'... '}'are not allowed in expressions.

Do not create classes that implement this interface; delegate or compose instead.

Since:
1.0

Method Summary
 Callable<Object> callable(JexlContext context)
          Creates a Callable from this expression.
 Object evaluate(JexlContext context)
          Evaluates the expression with the variables contained in the supplied JexlContext.
 String getParsedText()
          Recreates the source text of this expression from the internal syntactic tree.
 String getSourceText()
          Returns the source text of this expression.
 

Method Detail

evaluate

Object evaluate(JexlContext context)
Evaluates the expression with the variables contained in the supplied JexlContext.

Parameters:
context - A JexlContext containing variables.
Returns:
The result of this evaluation
Throws:
JexlException - on any error

getSourceText

String getSourceText()
Returns the source text of this expression.

Returns:
the source text

getParsedText

String getParsedText()
Recreates the source text of this expression from the internal syntactic tree.

Returns:
the source text

callable

Callable<Object> callable(JexlContext context)
Creates a Callable from this expression.

This allows to submit it to an executor pool and provides support for asynchronous calls.

The interpreter will handle interruption/cancellation gracefully if needed.

Parameters:
context - the context
Returns:
the callable
Since:
3.1


Copyright © 2001–2017 The Apache Software Foundation. All rights reserved.