public WhereBuilder or(Consumer<Expr> func) { Expr expr = new Expr(); func.accept(expr); if (!Strings.isBlank(expr.buf)) { return or(expr.buf.toString()); } return this; }
for (Map.Entry<String, Object> entry : fields.entrySet()) { if (i > 0) { expr.append(" and "); expr.append(query.alias()).append('.').append(entry.getKey()).append(" in ?"); } else { expr.append(query.alias()).append('.').append(entry.getKey()).append(" = ?"); expr.arg(entry.getValue()); expr.append(node.literal()); continue; expr.append(" and "); continue; expr.append(" or "); continue; expr.append(alias).append('.').append(name).append(' ').append(sqlOperator); continue;
protected void applyFieldFilterIn(WhereBuilder.Expr expr, String alias, FieldMapping fm, List<ScelNode> values) { expr.append(alias).append('.').append(fm.getFieldName()).append(' ').append("in").append(" ?"); final Class<?> type = ((FieldMapping) fm).getJavaType(); Object[] args = new Object[values.size()]; for (int i = 0; i < args.length; i++) { ScelNode value = values.get(i); if (ScelToken.NULL == value.token()) { args[i] = null; } else { args[i] = Converts.convert(value.literal(), type); } } expr.arg(args); }
protected void applyFieldFilterIn(WhereBuilder.Expr expr, String alias, FieldMapping fm, String[] values) { expr.append(alias).append('.').append(fm.getFieldName()).append(' ').append("in").append(" ?"); expr.arg(Converts.convert(values, Array.newInstance(((FieldMapping) fm).getJavaType(), 0).getClass())); }
public WhereBuilder and(Consumer<Expr> func) { Expr expr = new Expr(); func.accept(expr); if (!Strings.isBlank(expr.buf)) { return and(expr.buf.toString()); } return this; }