org.zkoss.xel.util
Class Evaluators

java.lang.Object
  extended by org.zkoss.xel.util.Evaluators

public class Evaluators
extends java.lang.Object

It maps a name with an evaluator implementation.

Since:
3.0.0
Author:
tomyeh

Method Summary
static java.lang.String add(Element config)
          Adds an evaluator based on the XML declaration.
static java.lang.String add(java.lang.String name, java.lang.String evalcls)
          Adds an evaluator (a.k.a., the expression factory, ExpressionFactory).
static boolean exists(java.lang.String name)
          Tests whether the evaluator (a.k.a., the expression factory) for the specified evaluator name exists.
static java.lang.Class<? extends ExpressionFactory> getEvaluatorClass(java.lang.String name)
          Returns the implementation for the specified evaluator name.
static java.lang.Object resolveVariable(VariableResolver resolver, java.lang.String name)
          Resolves the variable based on the specified resolver.
static java.lang.Object resolveVariable(XelContext ctx, java.lang.Object base, java.lang.Object name)
          Resolves the variable based on the specified context.
static java.lang.Object resolveVariable(XelContext ctx, VariableResolver resolver, java.lang.Object base, java.lang.Object name)
          Resolves the variable based on the the specified context and variable resolver.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getEvaluatorClass

public static final java.lang.Class<? extends ExpressionFactory> getEvaluatorClass(java.lang.String name)
Returns the implementation for the specified evaluator name.

Parameters:
name - the name of the evaluator, say, MVEL.
Throws:
SystemException - if not found or the class not found.

exists

public static final boolean exists(java.lang.String name)
Tests whether the evaluator (a.k.a., the expression factory) for the specified evaluator name exists.

Parameters:
name - the name of the evaluator, say, MVEL.

add

public static final java.lang.String add(java.lang.String name,
                                         java.lang.String evalcls)
Adds an evaluator (a.k.a., the expression factory, ExpressionFactory).

Parameters:
name - the name of the evaluator, say, MVEL. It is case insensitive.
evalcls - the class name of the evaluator, a.k.a., the expression factory (ExpressionFactory).
Returns:
the previous class name, or null if not defined yet

add

public static final java.lang.String add(Element config)
Adds an evaluator based on the XML declaration. The evaluator is also known as the expression factory, ExpressionFactory.

<xel-config>
  <evaluator-name>SuperEL</evaluator-name><!-- case insensitive --!>
  <evaluator-class>my.MySuperEvaluator</evaluator-class>
</xel-config>
 

Parameters:
config - the XML element called zscript-config
Returns:
the previous class, or null if not defined yet

resolveVariable

public static java.lang.Object resolveVariable(XelContext ctx,
                                               VariableResolver resolver,
                                               java.lang.Object base,
                                               java.lang.Object name)
Resolves the variable based on the the specified context and variable resolver.

Since:
5.0.0

resolveVariable

public static java.lang.Object resolveVariable(XelContext ctx,
                                               java.lang.Object base,
                                               java.lang.Object name)
Resolves the variable based on the specified context. If the variable resolver (XelContext.getVariableResolver() is an instance of VariableResolverX, then VariableResolverX.resolveVariable(XelContext,Object,Object) will be invoked.

Parameters:
ctx - the context. If null, null will be returned.
Since:
5.0.0

resolveVariable

public static java.lang.Object resolveVariable(VariableResolver resolver,
                                               java.lang.String name)
Resolves the variable based on the specified resolver. If the resolver is an instance of VariableResolverX, then VariableResolverX.resolveVariable(XelContext,Object,Object) will be invoked.

Notice that it is always better to invoke resolveVariable(XelContext,Object,Object) if XelContext is available.

Parameters:
resolver - the variable resolver. If null, null will be returned.
Since:
5.0.0


Copyright © 2005-2011 Potix Corporation. All Rights Reserved. SourceForge.net Logo