Interface ExpressionNode

All Known Subinterfaces:
ExpressionNodeWithParameter
All Known Implementing Classes:
ExpressionNodeArithmeticOperator, ExpressionNodeArray, ExpressionNodeAssignmentOperator, ExpressionNodeBinaryOperator, ExpressionNodeBooleanOperator, ExpressionNodeComparingOperator, ExpressionNodeComplex, ExpressionNodeFalse, ExpressionNodeFloatingNumber, ExpressionNodeFunction, ExpressionNodeIdentifier, ExpressionNodeIncreaseDecreaseOperator, ExpressionNodeInstanceVariable, ExpressionNodeIntegerNumber, ExpressionNodeMap, ExpressionNodeMethod, ExpressionNodeString, ExpressionNodeTernaryOperator, ExpressionNodeTrue

public interface ExpressionNode
A parsed expression
  • Method Details

    • calculate

      Calculate the expression
      Parameters:
      symbolTable - the symbol table
      Returns:
      the result
      Throws:
      JmriException - if an error occurs
    • canBeAssigned

      default boolean canBeAssigned()
      Can this expression be assigned a value?
      Returns:
      true if it's possible to assign a value to this expression, false otherwise
    • assignValue

      default void assignValue(SymbolTable symbolTable, Object value) throws JmriException
      Assign a value to this expression
      Parameters:
      symbolTable - the symbol table
      value - the value to assign
      Throws:
      JmriException - if an error occurs
    • getDefinitionString

      Get a String that defines this expression node.
      Returns:
      the string