Package org.zkoss.xel

Class Expressions

java.lang.Object
org.zkoss.xel.Expressions

public class Expressions extends Object
Utilities to use XEL.
Since:
3.0.0
Author:
tomyeh
  • Field Details

    • 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.
  • Constructor Details

    • Expressions

      public Expressions()
  • Method Details

    • newExpressionFactory

      public static final ExpressionFactory newExpressionFactory() throws XelException
      Instantiates an instance of ExpressionFactory.

      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 then ELFactory which supports EL 2.2. To override it, you can specify the class by calling setExpressionFactoryClass(java.lang.Class<? extends org.zkoss.xel.ExpressionFactory>), or use newExpressionFactory(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(Class<? extends ExpressionFactory> expfcls)
      Instantiates an instance of ExpressionFactory.

      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 then ELFactory which supports EL 2.2. To override it, you can specify the class by calling setExpressionFactoryClass(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 implements ExpressionFactory, or null to use the default.
      Throws:
      XelException - if the specified class failed to load, or instantiate.
    • evaluate

      public static final Object evaluate(XelContext ctx, String expression, 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(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 then ELFactory 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 implement ExpressionFactory. If null, the system default is used.
    • getExpressionFactoryClass

      public static final 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.
      See Also: