package gve.calc.formula; public class OperatorCompare extends InfixBinaryOp { /* < > <= >= */ private String opname; public OperatorCompare(String nam,Part l,Part r) { super(l,r); opname = nam; } public String getName() { return opname; } public int getPri() { return 1700; } public boolean same(Object o) { o = Brackets.unbracket(o); if (o instanceof OperatorCompare) { OperatorCompare cmp = (OperatorCompare)o; return opname.equals(cmp.opname) && left.same(cmp.left) && right.same(cmp.right); } return false; } public Part evaluate(Evaluator ev) { return new OperatorCompare(opname,left.evaluate(ev),right.evaluate(ev)); } public void write(java.io.Writer w) throws java.io.IOException { super.write(w); w.write(opname+"\n"); } public static Part read(java.io.BufferedReader r) throws java.io.IOException, ClassNotFoundException,NoSuchMethodException, java.lang.reflect.InvocationTargetException,IllegalAccessException{ Part left = Part.read(r); Part right = Part.read(r); return new OperatorCompare(r.readLine(),left,right); } }