add --shared
[pylucene.git] / lucene-java-3.4.0 / lucene / contrib / spellchecker / src / java / org / apache / lucene / search / spell / SuggestWordQueue.java
1 package org.apache.lucene.search.spell;
2
3
4 /**
5  * Licensed to the Apache Software Foundation (ASF) under one or more
6  * contributor license agreements.  See the NOTICE file distributed with
7  * this work for additional information regarding copyright ownership.
8  * The ASF licenses this file to You under the Apache License, Version 2.0
9  * (the "License"); you may not use this file except in compliance with
10  * the License.  You may obtain a copy of the License at
11  *
12  *     http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  */
20
21 import org.apache.lucene.util.PriorityQueue;
22
23 import java.util.Comparator;
24
25
26 /**
27  * Sorts SuggestWord instances
28  *
29  * @see org.apache.lucene.search.spell.SuggestWordScoreComparator
30  * @see org.apache.lucene.search.spell.SuggestWordFrequencyComparator
31  *
32  */
33 public final class SuggestWordQueue extends PriorityQueue<SuggestWord> {
34   public static final Comparator<SuggestWord> DEFAULT_COMPARATOR = new SuggestWordScoreComparator();
35
36
37   private Comparator<SuggestWord> comparator;
38
39   /**
40    * Use the {@link #DEFAULT_COMPARATOR}
41    * @param size The size of the queue
42    */
43   public SuggestWordQueue (int size) {
44     initialize(size);
45     comparator = DEFAULT_COMPARATOR;
46   }
47
48   /**
49    * Specify the size of the queue and the comparator to use for sorting.
50    * @param size The size
51    * @param comparator The comparator.
52    */
53   public SuggestWordQueue(int size, Comparator<SuggestWord> comparator){
54     initialize(size);
55     this.comparator = comparator;
56   }
57
58   @Override
59   protected final boolean lessThan (SuggestWord wa, SuggestWord wb) {
60     int val = comparator.compare(wa, wb);
61     return val < 0;
62   }
63 }