package won.matcher.solr.query.factory;
/**
* Created by hfriedrich on 01.08.2016.
*/
public class BooleanQueryFactory extends SolrQueryFactory {
private SolrQueryFactory[] factories;
private BooleanOperator operator;
public enum BooleanOperator {
AND,
OR
}
public BooleanQueryFactory(BooleanOperator op, SolrQueryFactory... factories) {
operator = op;
this.factories = factories;
}
@Override
protected String makeQueryString() {
StringBuilder queryBuilder = new StringBuilder();
for (int i = 0; i < factories.length; i++) {
queryBuilder.append(" (");
queryBuilder.append(factories[i].createQuery());
queryBuilder.append(") ");
if (i < factories.length - 1) {
queryBuilder.append(operator.toString());
queryBuilder.append("\n");
}
}
return queryBuilder.toString();
}
}