Class StructureNode

java.lang.Object
com.singularsys.jep.parser.SimpleNode
com.singularsys.extensions.structure.StructureNode
All Implemented Interfaces:
Node
Direct Known Subclasses:
ControlNode, IfNode, LoopNode, SequenceNode

public abstract class StructureNode extends SimpleNode
Base class for all structure nodes, defines an eval method.
Author:
Richard Morris
  • Constructor Details

    • StructureNode

      public StructureNode(int i)
  • Method Details

    • eval

      public abstract Object eval(Evaluator ev) throws EvaluationException
      Evaluate the node
      Parameters:
      ev - The evaluator the Evaluator.eval(com.singularsys.jep.parser.Node) can be used to evaluate children.
      Returns:
      result of evaluation
      Throws:
      EvaluationException - if evaluation cannot be performed
    • getName

      public String getName()
      Description copied from interface: Node
      Return the name associated with the node (if any).
      Returns:
      the name if an ASTVarNode, ASTFunNode, ASTOpNode, null otherwise
    • getOperator

      public Operator getOperator()
      Description copied from interface: Node
      Return the operator associated with a Node (if any)
      Returns:
      The Operator for ASTOpNodes, null otherwise
    • getPFMC

      public PostfixMathCommandI getPFMC()
      Description copied from interface: Node
      Return the pfmc of a node (if any)
      Returns:
      the PostfixMathCommand for ASTFunNode and ASTOpNode, null otherwise
    • getValue

      public Object getValue()
      Description copied from interface: Node
      Return the value associated with the node (if any).
      Returns:
      the value if an ASTConstant, ASTVarNode, null otherwise
    • getVar

      public Variable getVar()
      Description copied from interface: Node
      Return the variable associated with a Node (if any)
      Returns:
      The Variable for ASTVarNodes, null otherwise
    • testCondition

      protected static boolean testCondition(Object val) throws EvaluationException
      Convert a value to boolean, for use in condition tests
      Parameters:
      val - value to test, a Number or Boolean
      Returns:
      val converted to a boolean
      Throws:
      EvaluationException - if val cannot be converted to a boolean