protected Object unwrapChild(Node child) { return (child instanceof ASTScalar) ? ((ASTScalar) child).getValue() : child; }
protected Object unwrapChild(Node child) { return (child instanceof ASTScalar) ? ((ASTScalar) child).getValue() : child; }
@Override protected void appendChildrenAsEJBQL(List<Object> parameterAccumulator, Appendable out, String rootId) throws IOException { // with like, first expression is always path, second is a literal, // which must be uppercased out.append("upper("); ((SimpleNode) children[0]).appendAsEJBQL(parameterAccumulator, out, rootId); out.append(") "); out.append(getEJBQLExpressionOperator(0)); out.append(" "); Object literal = ((ASTScalar) children[1]).getValue(); if (!(literal instanceof String)) { throw new ExpressionException("Literal value should be a string"); } SimpleNode.encodeScalarAsEJBQL(parameterAccumulator, out, ((String) literal).toUpperCase()); } }
@Override protected String getEJBQLExpressionOperator(int index) { if (jjtGetChild(1) instanceof ASTScalar && ((ASTScalar) jjtGetChild(1)).getValue() == null) { //for ejbql, we need "is not null" instead of "!= null" return "is not"; } return "<>"; }
leaf = ((ASTScalar) leaf).getValue(); } else if(leaf instanceof Object[]) { for(Object value : (Object[])leaf) {
@Override protected String getEJBQLExpressionOperator(int index) { if (jjtGetChild(1) instanceof ASTScalar && ((ASTScalar) jjtGetChild(1)).getValue() == null) { // for ejbql, we need "is null" instead of "= null" return "is"; } return getExpressionOperator(index); }
protected Pattern getPattern() { // compile pattern on demand if (!patternCompiled) { synchronized (this) { if (!patternCompiled) { pattern = null; if (jjtGetNumChildren() < 2) { patternCompiled = true; return null; } // precompile pattern ASTScalar patternNode = (ASTScalar) jjtGetChild(1); if (patternNode == null) { patternCompiled = true; return null; } String srcPattern = (String) patternNode.getValue(); if (srcPattern == null) { patternCompiled = true; return null; } pattern = Util.sqlPatternToPattern(srcPattern, ignoringCase); patternCompiled = true; } } } return pattern; }
protected Pattern getPattern() { // compile pattern on demand if (!patternCompiled) { synchronized (this) { if (!patternCompiled) { pattern = null; if (jjtGetNumChildren() < 2) { patternCompiled = true; return null; } // precompile pattern ASTScalar patternNode = (ASTScalar) jjtGetChild(1); if (patternNode == null) { patternCompiled = true; return null; } String srcPattern = (String) patternNode.getValue(); if (srcPattern == null) { patternCompiled = true; return null; } pattern = Util.sqlPatternToPattern(srcPattern, ignoringCase); patternCompiled = true; } } } return pattern; }