public abstract class Expression.Operator extends java.lang.Object implements Expression.Token
Modifier and Type | Field and Description |
---|---|
private boolean |
leftAssoc
Operator is left associative.
|
private java.lang.String |
oper
This operators name (pattern).
|
private int |
precedence
Operators precedence.
|
Constructor and Description |
---|
Operator(java.lang.String oper,
int precedence,
boolean leftAssoc)
Creates a new operator.
|
Modifier and Type | Method and Description |
---|---|
abstract java.math.BigDecimal |
eval(java.math.BigDecimal v1,
java.math.BigDecimal v2)
Implementation for this operator.
|
java.lang.Object |
eval(java.util.Map<java.lang.String,java.lang.Object> variables,
java.lang.Object v1,
java.lang.Object v2) |
java.lang.Object |
eval(java.lang.String v1,
java.lang.String v2) |
java.lang.String |
getOper() |
int |
getPrecedence() |
boolean |
isLeftAssoc() |
java.lang.String |
toString() |
private java.lang.String oper
private int precedence
private boolean leftAssoc
public Operator(java.lang.String oper, int precedence, boolean leftAssoc)
oper
- The operator name (pattern).precedence
- The operators precedence.leftAssoc
- true
if the operator is left associative,
else false
.public java.lang.String getOper()
public int getPrecedence()
public boolean isLeftAssoc()
public java.lang.Object eval(java.util.Map<java.lang.String,java.lang.Object> variables, java.lang.Object v1, java.lang.Object v2)
public java.lang.Object eval(java.lang.String v1, java.lang.String v2)
public abstract java.math.BigDecimal eval(java.math.BigDecimal v1, java.math.BigDecimal v2)
v1
- Operand 1.v2
- Operand 2.public java.lang.String toString()
toString
in class java.lang.Object