package org.tax.expression; import org.tax.datatypes.QLNumber; public class NumberOptExpr extends Expression<QLNumber<? extends Number>> { Expression<QLNumber<? extends Number>> left, right; String op; public NumberOptExpr(Expression<QLNumber<? extends Number>> left, Expression<QLNumber<? extends Number>> right, String op) { this.left = left; this.right = right; this.op = op; } @Override public QLNumber<? extends Number> evaluate() { if (op.equals( "+")) return left.evaluate().add(right.evaluate()); else if (op.equals( "-")) return left.evaluate().sub(right.evaluate()); else if (op.equals( "*")) return left.evaluate().mul(right.evaluate()); else if (op.equals( "/")) return left.evaluate().div(right.evaluate()); return null; } }