Class TernaryOperator

java.lang.Object
com.singularsys.jep.Operator
com.singularsys.jep.configurableparser.TernaryOperator
All Implemented Interfaces:
PrintVisitor.PrintRulesI, Serializable

public class TernaryOperator extends Operator implements PrintVisitor.PrintRulesI
A class representing a ternary operator, for example x?y:z. These are represented by a linked pair of operators, a TernaryOperator and the inner class RhsTernaryOperator.
Author:
Richard Morris Since 4.0 implements PrintRulesI
See Also:
  • Constructor Details

    • TernaryOperator

      public TernaryOperator(String name, String lhsSymbol, String rhsSymbol, PostfixMathCommandI pfmc, int flags)
      Create a Ternary operator. Precedence level set later.
      Parameters:
      name - verbose name for operator
      lhsSymbol - symbol for left-hand operator, typically "?"
      rhsSymbol - symbol for right-hand operator, typically ":"
      pfmc - function implementing the operation, typically TernaryConditional
      flags - status flags, typically Operator.TERNARY
    • TernaryOperator

      public TernaryOperator(String name, String lhsSymbol, String rhsSymbol, PostfixMathCommandI pfmc, int flags, int precedence)
      Create a Ternary operator
      Parameters:
      name - verbose name for operator
      lhsSymbol - symbol for left-hand operator, typically "?"
      rhsSymbol - symbol for right-hand operator, typically ":"
      pfmc - function implementing the operation, typically TernaryConditional
      flags - status flags, typically Operator.TERNARY
      precedence - precedence level
  • Method Details

    • getRhsSymbol

      public String getRhsSymbol()
      Get symbol used to for right-hand operator
      Returns:
      the symbol
    • getRhsOperator

      public TernaryOperator.RhsTernaryOperator getRhsOperator()
    • setPrecedence

      public void setPrecedence(int i)
      Description copied from class: Operator
      Set the precedence of the operator. Lower values correspond to tighter binding, that is * gives a lower value than + and 1+2*3 is 1+(2*3).
      Overrides:
      setPrecedence in class Operator
      Parameters:
      i - the precedence
    • append

      public void append(Node node, PrintVisitor pv) throws JepException
      Description copied from interface: PrintVisitor.PrintRulesI
      The method called to append data for the rule.
      Specified by:
      append in interface PrintVisitor.PrintRulesI
      Parameters:
      node - the node to print
      pv - the PrintVisitor
      Throws:
      JepException - on error
      Since:
      4.0