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