Class Expressions
- java.lang.Object
-
- org.zkoss.xel.Expressions
-
public class Expressions extends java.lang.Object
Utilities to use XEL.- Since:
- 3.0.0
- Author:
- tomyeh
-
-
Field Summary
Fields Modifier and Type Field Description static Expression
DUMMY_EXPRESSION
An dummy expression that does nothing.static FunctionMapper
EMPTY_MAPPER
An empty function mapper, i.e., it has no function defined at all.static VariableResolver
EMPTY_RESOLVER
An empty variable resolver, i.e., it has no variable defined at all.
-
Constructor Summary
Constructors Constructor Description Expressions()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.Object
evaluate(XelContext ctx, java.lang.String expression, java.lang.Class<?> expectedType)
Evaluates an expression.static java.lang.Class<? extends ExpressionFactory>
getExpressionFactoryClass()
Returns the implementation of the expression factory that is used by the whole system, or null to use the system default.static ExpressionFactory
newExpressionFactory()
Instantiates an instance ofExpressionFactory
.static ExpressionFactory
newExpressionFactory(java.lang.Class<? extends ExpressionFactory> expfcls)
Instantiates an instance ofExpressionFactory
.static void
setExpressionFactoryClass(java.lang.Class<? extends ExpressionFactory> expfcls)
Sets the implementation of the expression factory that shall be used by the whole system, or null to use the system default.
-
-
-
Field Detail
-
EMPTY_MAPPER
public static final FunctionMapper EMPTY_MAPPER
An empty function mapper, i.e., it has no function defined at all. It is serializable.
-
EMPTY_RESOLVER
public static final VariableResolver EMPTY_RESOLVER
An empty variable resolver, i.e., it has no variable defined at all. It is serializable.
-
DUMMY_EXPRESSION
public static final Expression DUMMY_EXPRESSION
An dummy expression that does nothing. It is usually used as a flag to denote exceptional cases. It it serializable.
-
-
Method Detail
-
newExpressionFactory
public static final ExpressionFactory newExpressionFactory() throws XelException
Instantiates an instance ofExpressionFactory
.The default class is
ELFactory
, which supports EL 2.0. If you run under JVM 1.5 or later and deploy zel.jar in your class path, the default class is thenELFactory
which supports EL 2.2. To override it, you can specify the class by callingsetExpressionFactoryClass(java.lang.Class<? extends org.zkoss.xel.ExpressionFactory>)
, or usenewExpressionFactory(Class)
instead.For the ZK user, you can override it with zk.xml or org.zkoss.zk.ui.util.Configuration.
- Throws:
XelException
- if the specified class failed to load, or instantiate.
-
newExpressionFactory
public static final ExpressionFactory newExpressionFactory(java.lang.Class<? extends ExpressionFactory> expfcls)
Instantiates an instance ofExpressionFactory
.The default class is
ELFactory
, which supports EL 2.0. If you run under JVM 1.5 or later and deploy zel.jar in your class path, the default class is thenELFactory
which supports EL 2.2. To override it, you can specify the class by callingsetExpressionFactoryClass(java.lang.Class<? extends org.zkoss.xel.ExpressionFactory>)
, or specifying the class you prefer in the expfcls argument.For the ZK user, you can override it with zk.xml or org.zkoss.zk.ui.util.Configuration.
- Parameters:
expfcls
- the class that implementsExpressionFactory
, or null to use the default.- Throws:
XelException
- if the specified class failed to load, or instantiate.
-
evaluate
public static final java.lang.Object evaluate(XelContext ctx, java.lang.String expression, java.lang.Class<?> expectedType) throws XelException
Evaluates an expression.- Parameters:
ctx
- the context information to evaluate the expression It can be null, in which case no functions are supported for this invocation.expression
- the expression to be evaluated. Note: the expression is enclosed with ${ and }, regardless of what implementation is used.expectedType
- the expected type of the result of the evaluation- Throws:
XelException
-
setExpressionFactoryClass
public static final void setExpressionFactoryClass(java.lang.Class<? extends ExpressionFactory> expfcls)
Sets the implementation of the expression factory that shall be used by the whole system, or null to use the system default.Default: null - it means
ELFactory
, which supports EL 2.0. If you run under JVM 1.5 or later and deploy zel.jar in your class path, the default class is thenELFactory
which supports EL 2.2.Note: you can only specify an implementation that is compatible with JSP EL here, since all built-in pages depend on it.
- Parameters:
expfcls
- the implementation class, or null to use the default. Note: expfcls must implementExpressionFactory
. If null, the system default is used.
-
getExpressionFactoryClass
public static final java.lang.Class<? extends ExpressionFactory> getExpressionFactoryClass()
Returns the implementation of the expression factory that is used by the whole system, or null to use the system default.
-
-