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 void combine(boolean isConjunction, FilterConditionContext fcc) { if (fcc == null) { throw log.argumentCannotBeNull(); } BaseCondition rightCondition = ((BaseCondition) fcc).getRoot(); if (rightCondition.queryFactory != queryFactory) { throw log.conditionWasCreatedByAnotherFactory(); } if (rightCondition.queryBuilder != null) { throw log.conditionIsAlreadyInUseByAnotherBuilder(); } if (isConjunction && parent instanceof OrCondition) { BooleanCondition p = new AndCondition(queryFactory, this, rightCondition); ((BooleanCondition) parent).replaceChildCondition(this, p); parent = p; rightCondition.setParent(p); } else { BaseCondition root = getRoot(); BooleanCondition p = isConjunction ? new AndCondition(queryFactory, root, rightCondition) : new OrCondition(queryFactory, root, rightCondition); root.setParent(p); rightCondition.setParent(p); } rightCondition.setQueryBuilder(queryBuilder); }
private void combine(boolean isConjunction, FilterConditionContext fcc) { if (fcc == null) { throw log.argumentCannotBeNull(); } BaseCondition rightCondition = ((BaseCondition) fcc).getRoot(); if (rightCondition.queryFactory != queryFactory) { throw log.conditionWasCreatedByAnotherFactory(); } if (rightCondition.queryBuilder != null) { throw log.conditionIsAlreadyInUseByAnotherBuilder(); } if (isConjunction && parent instanceof OrCondition) { BooleanCondition p = new AndCondition(queryFactory, this, rightCondition); ((BooleanCondition) parent).replaceChildCondition(this, p); parent = p; rightCondition.setParent(p); } else { BaseCondition root = getRoot(); BooleanCondition p = isConjunction ? new AndCondition(queryFactory, root, rightCondition) : new OrCondition(queryFactory, root, rightCondition); root.setParent(p); rightCondition.setParent(p); } rightCondition.setQueryBuilder(queryBuilder); }