Class Evaluators


  • public class Evaluators
    extends java.lang.Object
    It maps a name with an evaluator implementation.
    Since:
    3.0.0
    Author:
    tomyeh
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.String add​(java.lang.String name, java.lang.String evalcls)
      Adds an evaluator (a.k.a., the expression factory, ExpressionFactory).
      static java.lang.String add​(Element config)
      Adds an evaluator based on the XML declaration.
      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