Show BooleanQuery.java syntax highlighted
/*
* Created on 09/08/2004
*
*/
package com.kneobase.search.query;
import java.util.Collection;
import java.util.Iterator;
import java.util.Vector;
/**
* @author Ernesto De Santis
*
*/
public class BooleanQuery extends Query {
private Collection clauses = new Vector();
public void add(Query arg0, boolean arg1, boolean arg2) {
clauses.add(new BooleanClause(arg0, arg1, arg2));
}
public void add(BooleanClause clause) {
clauses.add(clause);
}
public Collection getBooleanClauses(){
return clauses;
}
public String getSearchText(){
String result = "";
Iterator itClauses = clauses.iterator();
while (itClauses.hasNext()) {
BooleanClause clause = (BooleanClause) itClauses.next();
result += " " + clause.getQuery().getSearchText();
}
return result;
}
public org.apache.lucene.search.Query getLuceneQuery() throws QueryException {
org.apache.lucene.search.BooleanQuery lBooleanQuery = new org.apache.lucene.search.BooleanQuery();
Iterator itQueries = getBooleanClauses().iterator();
while (itQueries.hasNext()) {
BooleanClause q = (BooleanClause) itQueries.next();
boolean required = q.isRequired();
boolean prohibited = q.isProhibited();
org.apache.lucene.search.Query lQuery = q.getQuery().getLuceneQuery();
lBooleanQuery.add(lQuery, required, prohibited);
}
return lBooleanQuery;
}
}
See more files for this project here