@Override public QueryCriteria visit(InQueryCriteria criteria, Void arg) { Set<AttributeReference> combinedAttRefs = combineAttributeReferences(criteria.getAttributeReference()); if (combinedAttRefs.size() == 1) { return criteria; } DisjunctionBuilder disjunctionBuilder = new DisjunctionBuilder(); for (AttributeReference combinedAttRef : combinedAttRefs) { disjunctionBuilder.add(new InQueryCriteria(combinedAttRef, criteria.getValue())); } return disjunctionBuilder.build(); }
@Override public QueryCriteria visit(InQueryCriteria criteria, List<AttributeReference.Key> arg) { return new InQueryCriteria(new AttributeReference(arg), criteria.getValue()); }