1 19 20 21 package org.apache.cayenne.exp.parser; 22 23 import org.apache.cayenne.exp.Expression; 24 import org.apache.cayenne.util.Util; 25 26 31 public class ASTNotEqual extends ConditionNode { 32 ASTNotEqual(int id) { 33 super(id); 34 } 35 36 public ASTNotEqual() { 37 super(ExpressionParserTreeConstants.JJTNOTEQUAL); 38 } 39 40 43 public ASTNotEqual(ASTPath path, Object value) { 44 super(ExpressionParserTreeConstants.JJTNOTEQUAL); 45 jjtAddChild(path, 0); 46 jjtAddChild(new ASTScalar(value), 1); 47 } 48 49 protected Object evaluateNode(Object o) throws Exception { 50 int len = jjtGetNumChildren(); 51 if (len != 2) { 52 return Boolean.FALSE; 53 } 54 55 Object o1 = evaluateChild(0, o); 56 Object o2 = evaluateChild(1, o); 57 return Util.nullSafeEquals(o1, o2) ? Boolean.FALSE : Boolean.TRUE; 58 } 59 60 63 public Expression shallowCopy() { 64 return new ASTNotEqual(id); 65 } 66 67 protected String getExpressionOperator(int index) { 68 return "!="; 69 } 70 71 public int getType() { 72 return Expression.NOT_EQUAL_TO; 73 } 74 } 75 | Popular Tags |