private String generateBooleanCondition(BooleanCondition booleanCondition, String booleanOperator) { StringBuilder sb = new StringBuilder(); boolean wrap = parentIsNotOfClass(booleanCondition, booleanCondition.getClass()); if (wrap) { sb.append('('); } sb.append(booleanCondition.getFirstCondition().accept(this)); sb.append(' ').append(booleanOperator).append(' '); sb.append(booleanCondition.getSecondCondition().accept(this)); if (wrap) { sb.append(')'); } return sb.toString(); }
private String generateMultipleBooleanCondition(OperatorAndArgument operator, String booleanOperator, Class<? extends BooleanCondition> expectedParentClass) { Object argument = operator.getArgument(); Collection values; if (argument instanceof Collection) { values = (Collection) argument; } else if (argument instanceof Object[]) { values = Arrays.asList((Object[]) argument); } else { throw log.expectingCollectionOrArray(); } StringBuilder sb = new StringBuilder(); boolean wrap = parentIsNotOfClass(operator.getAttributeCondition(), expectedParentClass); if (wrap) { sb.append('('); } boolean isFirst = true; for (Object value : values) { if (isFirst) { isFirst = false; } else { sb.append(' ').append(booleanOperator).append(' '); } appendSingleCondition(sb, operator.getAttributeCondition(), value, "=", "!="); } if (wrap) { sb.append(')'); } return sb.toString(); }
if (!range.isIncludeLower() || !range.isIncludeUpper()) { boolean wrap = parentIsNotOfClass(operator.getAttributeCondition(), operator.getAttributeCondition().isNegated() ? OrCondition.class : AndCondition.class); if (wrap) { sb.append('(');