private Clause createFilterClause(Operation operation, String field, String... values) { FilterClause filterClause = new ObjectFilterClause(); filterClause.setOperation(operation); filterClause.setField(field); filterClause.setValues(Stream.of(values).map(v -> new Value(Value.Kind.VALUE, v)).collect(Collectors.toList())); return filterClause; }
private Clause createFilterClause(Operation operation, String field, Expression... expressions) { FilterClause filterClause = new ObjectFilterClause(); filterClause.setOperation(operation); filterClause.setField(field); filterClause.setValues(Stream.of(expressions).map(e -> new Value(e instanceof Identifier ? Value.Kind.FIELD : Value.Kind.VALUE, e.toFormatlessString())).collect(Collectors.toList())); return filterClause; }
private Clause rewriteClause(Clause clause) { Clause toReturn = clause; if (clause instanceof LogicalClause) { LogicalClause logical = ((LogicalClause) clause); logical.setClauses(rewriteClauses(logical.getClauses())); } else if (clause instanceof StringFilterClause) { toReturn = new ObjectFilterClause((StringFilterClause) clause); } return toReturn; } }