@Override public QueryCriteria visit(ModIsQueryCriteria 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 ModIsQueryCriteria(combinedAttRef, criteria.getDivisor(), criteria.getReminder())); } return disjunctionBuilder.build(); }
@Override public QueryCriteria visit(ModIsQueryCriteria criteria, List<AttributeReference.Key> arg) { return new ModIsQueryCriteria( new AttributeReference(arg), criteria.getDivisor(), criteria.getReminder()); }