Class TernaryOperator
java.lang.Object
com.singularsys.jep.Operator
com.singularsys.jep.configurableparser.TernaryOperator
- All Implemented Interfaces:
PrintVisitor.PrintRulesI,Serializable
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:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclassInner class used to represent the right-hand operator. -
Field Summary
Fields inherited from class com.singularsys.jep.Operator
ASSOCIATIVE, BINARY, COMMUTATIVE, COMPOSITE, EQUIVALENCE, flags, key, LEFT, name, NARY, NO_ARGS, NOT_IN_PARSER, pfmc, precedence, PREFIX, printSymbol, REFLEXIVE, RIGHT, SELF_INVERSE, SUFFIX, symbol, SYMMETRIC, TERNARY, TRANSITIVE, UNARY, USE_BINDING_FOR_PRINT -
Constructor Summary
ConstructorsConstructorDescriptionTernaryOperator(String name, String lhsSymbol, String rhsSymbol, PostfixMathCommandI pfmc, int flags) Create a Ternary operator.TernaryOperator(String name, String lhsSymbol, String rhsSymbol, PostfixMathCommandI pfmc, int flags, int precedence) Create a Ternary operator -
Method Summary
Modifier and TypeMethodDescriptionvoidappend(Node node, PrintVisitor pv) The method called to append data for the rule.Get symbol used to for right-hand operatorvoidsetPrecedence(int i) Set the precedence of the operator.Methods inherited from class com.singularsys.jep.Operator
addAltSymbol, duplicate, getAltSymbols, getBinaryInverseOp, getBinding, getFlags, getInverseOp, getKey, getName, getPFMC, getPrecedence, getPrintSymbol, getRootOp, getSymbol, isAssociative, isBinary, isCommutative, isComposite, isDistributiveOver, isEquivalence, isLeftBinding, isNary, isPrefix, isReflexive, isRightBinding, isSelfInverse, isSuffix, isSymmetric, isTernary, isTransitive, isUnary, notInParser, numArgs, setBinaryInverseOp, setDistributiveOver, setFlag, setInverseOp, setKey, setPFMC, setPrintSymbol, setRootOp, setSymbol, toFullString, toString, useBindingForPrint
-
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 operatorlhsSymbol- symbol for left-hand operator, typically "?"rhsSymbol- symbol for right-hand operator, typically ":"pfmc- function implementing the operation, typicallyTernaryConditionalflags- status flags, typicallyOperator.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 operatorlhsSymbol- symbol for left-hand operator, typically "?"rhsSymbol- symbol for right-hand operator, typically ":"pfmc- function implementing the operation, typicallyTernaryConditionalflags- status flags, typicallyOperator.TERNARYprecedence- precedence level
-
-
Method Details
-
getRhsSymbol
Get symbol used to for right-hand operator- Returns:
- the symbol
-
getRhsOperator
-
setPrecedence
public void setPrecedence(int i) Description copied from class:OperatorSet 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:
setPrecedencein classOperator- Parameters:
i- the precedence
-
append
Description copied from interface:PrintVisitor.PrintRulesIThe method called to append data for the rule.- Specified by:
appendin interfacePrintVisitor.PrintRulesI- Parameters:
node- the node to printpv- the PrintVisitor- Throws:
JepException- on error- Since:
- 4.0
-