pylucene 3.5.0-3
[pylucene.git] / java / org / apache / pylucene / search / PythonFieldComparator.java
1 /* ====================================================================
2  *   Licensed under the Apache License, Version 2.0 (the "License");
3  *   you may not use this file except in compliance with the License.
4  *   You may obtain a copy of the License at
5  *
6  *       http://www.apache.org/licenses/LICENSE-2.0
7  *
8  *   Unless required by applicable law or agreed to in writing, software
9  *   distributed under the License is distributed on an "AS IS" BASIS,
10  *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11  *   See the License for the specific language governing permissions and
12  *   limitations under the License.
13  * ====================================================================
14  */
15
16 package org.apache.pylucene.search;
17
18 import java.io.IOException;
19 import org.apache.lucene.search.FieldComparator;
20 import org.apache.lucene.index.IndexReader;
21
22 /**
23  * @author Andi Vajda
24  */
25
26 public class PythonFieldComparator<T> extends FieldComparator<T> {
27
28     private long pythonObject;
29
30     public PythonFieldComparator()
31     {
32     }
33
34     public void pythonExtension(long pythonObject)
35     {
36         this.pythonObject = pythonObject;
37     }
38     public long pythonExtension()
39     {
40         return this.pythonObject;
41     }
42
43     public void finalize()
44         throws Throwable
45     {
46         pythonDecRef();
47     }
48
49     public native void pythonDecRef();
50
51     public native int compare(int slot1, int slot2);
52     public native void setBottom(final int slot);
53     public native int compareBottom(int doc)
54         throws IOException;
55     public native void copy(int slot, int doc) 
56         throws IOException;
57     public native void setNextReader(IndexReader reader, int docBase)
58         throws IOException;
59     public native T value(int slot);
60 }