add --shared
[pylucene.git] / lucene-java-3.4.0 / lucene / contrib / queryparser / src / java / org / apache / lucene / queryParser / surround / query / SrndBooleanQuery.java
1 package org.apache.lucene.queryParser.surround.query;
2 /**
3  * Licensed to the Apache Software Foundation (ASF) under one or more
4  * contributor license agreements.  See the NOTICE file distributed with
5  * this work for additional information regarding copyright ownership.
6  * The ASF licenses this file to You under the Apache License, Version 2.0
7  * (the "License"); you may not use this file except in compliance with
8  * the License.  You may obtain a copy of the License at
9  *
10  *     http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18
19 import java.util.List;
20
21 import org.apache.lucene.search.Query;
22 import org.apache.lucene.search.BooleanQuery;
23 import org.apache.lucene.search.BooleanClause;
24
25 class SrndBooleanQuery {
26   public static void addQueriesToBoolean(
27           BooleanQuery bq,
28           List<Query> queries,
29           BooleanClause.Occur occur) {
30     for (int i = 0; i < queries.size(); i++) {
31       bq.add( queries.get(i), occur);
32     }
33   }
34   
35   public static Query makeBooleanQuery(
36           List<Query> queries,
37           BooleanClause.Occur occur) {
38     if (queries.size() <= 1) {
39       throw new AssertionError("Too few subqueries: " + queries.size());
40     }
41     BooleanQuery bq = new BooleanQuery();
42     addQueriesToBoolean(bq, queries.subList(0, queries.size()), occur);
43     return bq;
44   }
45 }