Class StructuredEvaluator

java.lang.Object
com.singularsys.extensions.structure.StructuredEvaluator
All Implemented Interfaces:
Evaluator, JepComponent, Serializable

public class StructuredEvaluator extends Object implements Evaluator
An evaluator which works with structured programming.
Since:
Jep 3.5 / Extensions 2.0
Author:
Richard Morris
See Also:
  • Constructor Details

    • StructuredEvaluator

      public StructuredEvaluator(Evaluator rootEval)
      Create an evaluator for use with structured programming.
      Parameters:
      rootEval - the evaluator used for simple non-structured expressions
      See Also:
  • Method Details

    • evaluate

      public Object evaluate(Node node) throws EvaluationException
      Description copied from interface: Evaluator
      Main entry point, evaluates a node and returns and object with the value of the node.
      Specified by:
      evaluate in interface Evaluator
      Parameters:
      node - node to evaluate
      Returns:
      value after evaluation
      Throws:
      EvaluationException - if errors occur during evaluation;
    • eval

      public Object eval(Node node) throws EvaluationException
      Evaluate a node. If the node is an instance of StructureNode call its StructureNode.eval(Evaluator) method, otherwise use the rootEvaluator.
      Specified by:
      eval in interface Evaluator
      Parameters:
      node - node to evaluate
      Returns:
      The value after evaluating the sub expression.
      Throws:
      EvaluationException - if errors occur during evaluation;
    • getLightWeightInstance

      public JepComponent getLightWeightInstance()
      Description copied from interface: JepComponent
      Gets a light-weight instance suitable for using in multiple threads.
      Specified by:
      getLightWeightInstance in interface JepComponent
      Returns:
      either a new instance, null or 'this'.
    • init

      public void init(Jep jep)
      Description copied from interface: JepComponent
      Initialize the component. This method is called whenever a component is added to Jep. Hence, it allows components to keep track of the other components they may rely on.
      Specified by:
      init in interface JepComponent
      Parameters:
      jep - the current Jep instance
    • getRootEval

      public Evaluator getRootEval()
      Gets the root evaluator.
      Returns:
      the evaluator
      Since:
      Jep 4.1, extensions 2.2