Package org.forgerock.openig.el
Class Expression<T>
- java.lang.Object
- 
- org.forgerock.openig.el.Expression<T>
 
- 
- Type Parameters:
- T- expected result type
 - Direct Known Subclasses:
- LeftValueExpression
 
 public class Expression<T> extends Object An Unified Expression Language expression. Creating an expression is the equivalent to compiling it. Once created, an expression can be evaluated within a supplied scope. An expression can safely be evaluated concurrently in multiple threads.
- 
- 
Field SummaryFields Modifier and Type Field Description protected de.odysseus.el.TreeValueExpressionvalueExpressionThe underlying EL expression that this object represents.
 - 
Constructor SummaryConstructors Modifier Constructor Description protectedExpression(String expression, Class<T> expectedType, Bindings initialBindings)Constructs an expression for later evaluation.
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Teval()Convenient method to eval an Expression that does not need a scope.Teval(Bindings bindings)Evaluates the expression within the specified bindings and returns the resulting object if it matches the specified type, ornullif it does not resolve or match.Promise<T,NeverThrowsException>evalAsync(Bindings bindings)Evaluates asynchronously the expression with the specified bindings and returns a promise of the resulting object if it matches the specified type, or a promise completed withnullif it does not resolve or match.StringtoString()Returns the original string used to create this expression, unmodified.static <T> Expression<T>valueOf(String expression, Class<T> expectedType)Factory method to create an Expression.static <T> Expression<T>valueOf(String expression, Class<T> expectedType, Bindings initialBindings)Factory method to create an Expression.
 
- 
- 
- 
Constructor Detail- 
Expressionprotected Expression(String expression, Class<T> expectedType, Bindings initialBindings) throws ExpressionException Constructs an expression for later evaluation.- Parameters:
- expression- the expression to parse.
- expectedType- The expected result type of the expression.
- initialBindings- The initial bindings used when evaluated this expression
- Throws:
- ExpressionException- if the expression was not syntactically correct.
 
 
- 
 - 
Method Detail- 
valueOfpublic static <T> Expression<T> valueOf(String expression, Class<T> expectedType) throws ExpressionException Factory method to create an Expression.- Type Parameters:
- T- expected result type
- Parameters:
- expression- The expression to parse.
- expectedType- The expected result type of the expression.
- Returns:
- An expression based on the given string.
- Throws:
- ExpressionException- if the expression was not syntactically correct.
 
 - 
valueOfpublic static <T> Expression<T> valueOf(String expression, Class<T> expectedType, Bindings initialBindings) throws ExpressionException Factory method to create an Expression.- Type Parameters:
- T- expected result type
- Parameters:
- expression- The expression to parse.
- expectedType- The expected result type of the expression.
- initialBindings- The initial bindings used when evaluated this expression
- Returns:
- An expression based on the given string.
- Throws:
- ExpressionException- if the expression was not syntactically correct.
 
 - 
evalAsyncpublic Promise<T,NeverThrowsException> evalAsync(Bindings bindings) Evaluates asynchronously the expression with the specified bindings and returns a promise of the resulting object if it matches the specified type, or a promise completed withnullif it does not resolve or match.If this expression requires asynchronous processing (declared using "#{...}"), then the evaluation is triggered on completion of the Bindings.Otherwise it's evaluated immediately. - Parameters:
- bindings- the bindings to evaluate the expression within.
- Returns:
- a promise containing the result of the expression evaluation, or containing nullif it does not resolve or match the type.
 
 - 
evalpublic T eval(Bindings bindings) Evaluates the expression within the specified bindings and returns the resulting object if it matches the specified type, ornullif it does not resolve or match.- Parameters:
- bindings- the bindings to evaluate the expression within.
- Returns:
- the result of the expression evaluation, or nullif it does not resolve or match the type.
 
 - 
evalpublic T eval() Convenient method to eval an Expression that does not need a scope.- Returns:
- the result of the expression evaluation, or nullif it does not resolve or match the type.
 
 - 
toStringpublic String toString() Returns the original string used to create this expression, unmodified.Note to implementors: That returned value must be usable in Expression.valueOf() to create an equivalent Expression(somehow cloning this instance) 
 
- 
 
-