Class StructuredEvaluator
- java.lang.Object
-
- com.singularsys.extensions.structure.StructuredEvaluator
-
- All Implemented Interfaces:
Evaluator
,JepComponent
,java.io.Serializable
public class StructuredEvaluator extends java.lang.Object implements Evaluator
An evaluator which works with structured programming.- Since:
- Jep 3.5 / Extensions 2.0
- Author:
- Richard Morris
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description StructuredEvaluator(Evaluator rootEval)
Create an evaluator for use with structured programming.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
eval(Node node)
Evaluate a node.java.lang.Object
evaluate(Node node)
Main entry point, evaluates a node and returns and object with the value of the node.JepComponent
getLightWeightInstance()
Gets a light-weight instance suitable for using in multiple threads.void
init(Jep jep)
Initialize the component.
-
-
-
Constructor Detail
-
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:
StructureNode
-
-
Method Detail
-
evaluate
public java.lang.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 interfaceEvaluator
- Parameters:
node
- node to evaluate- Returns:
- value after evaluation
- Throws:
EvaluationException
- if errors occur during evaluation;
-
eval
public java.lang.Object eval(Node node) throws EvaluationException
Evaluate a node. If the node is an instance ofStructureNode
call itsStructureNode.eval(Evaluator)
method, otherwise use the rootEvaluator.- Specified by:
eval
in interfaceEvaluator
- 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 interfaceJepComponent
- Returns:
- either an new instance, null or 'this'.
-
init
public void init(Jep jep)
Description copied from interface:JepComponent
Initialize the component. This methods 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 interfaceJepComponent
- Parameters:
jep
- the current Jep instance
-
-