public class Evaluators
extends java.lang.Object
Modifier and Type | Method and Description |
---|---|
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.
|
public static final java.lang.Class<? extends ExpressionFactory> getEvaluatorClass(java.lang.String name)
name
- the name of the evaluator, say, MVEL.SystemException
- if not found or the class not found.public static final boolean exists(java.lang.String name)
name
- the name of the evaluator, say, MVEL.public static final java.lang.String add(java.lang.String name, java.lang.String evalcls)
ExpressionFactory
).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
).public static final java.lang.String add(Element config)
ExpressionFactory
.
<xel-config>
<evaluator-name>SuperEL</evaluator-name><!-- case insensitive --!>
<evaluator-class>my.MySuperEvaluator</evaluator-class>
</xel-config>
config
- the XML element called zscript-configpublic static java.lang.Object resolveVariable(XelContext ctx, VariableResolver resolver, java.lang.Object base, java.lang.Object name)
public static java.lang.Object resolveVariable(XelContext ctx, java.lang.Object base, java.lang.Object name)
XelContext.getVariableResolver()
is an instance of VariableResolverX
, then
VariableResolverX.resolveVariable(XelContext,Object,Object)
will be invoked.ctx
- the context. If null, null will be returned.public static java.lang.Object resolveVariable(VariableResolver resolver, java.lang.String name)
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.
resolver
- the variable resolver. If null, null will be returned.Copyright © 2005-2021 Potix Corporation. All Rights Reserved.