1 package org.apache.lucene.search.spell;
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
12 * http://www.apache.org/licenses/LICENSE-2.0
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.
21 import org.apache.lucene.util.PriorityQueue;
23 import java.util.Comparator;
27 * Sorts SuggestWord instances
29 * @see org.apache.lucene.search.spell.SuggestWordScoreComparator
30 * @see org.apache.lucene.search.spell.SuggestWordFrequencyComparator
33 public final class SuggestWordQueue extends PriorityQueue<SuggestWord> {
34 public static final Comparator<SuggestWord> DEFAULT_COMPARATOR = new SuggestWordScoreComparator();
37 private Comparator<SuggestWord> comparator;
40 * Use the {@link #DEFAULT_COMPARATOR}
41 * @param size The size of the queue
43 public SuggestWordQueue (int size) {
45 comparator = DEFAULT_COMPARATOR;
49 * Specify the size of the queue and the comparator to use for sorting.
50 * @param size The size
51 * @param comparator The comparator.
53 public SuggestWordQueue(int size, Comparator<SuggestWord> comparator){
55 this.comparator = comparator;
59 protected final boolean lessThan (SuggestWord wa, SuggestWord wb) {
60 int val = comparator.compare(wa, wb);