pylucene 3.5.0-3
[pylucene.git] / java / org / apache / pylucene / index / PythonIndexDeletionPolicy.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.index;
17
18 import java.io.IOException;
19 import java.util.List;
20
21 import org.apache.lucene.index.IndexCommit;
22 import org.apache.lucene.index.IndexDeletionPolicy;
23
24 public class PythonIndexDeletionPolicy implements IndexDeletionPolicy {
25     private long pythonObject;
26
27     public PythonIndexDeletionPolicy()
28     {
29     }
30
31     public void pythonExtension(long pythonObject)
32     {
33         this.pythonObject = pythonObject;
34     }
35     public long pythonExtension()
36     {
37         return this.pythonObject;
38     }
39
40     public void finalize()
41         throws Throwable
42     {
43         pythonDecRef();
44     }
45
46     public native void pythonDecRef();
47
48     public native void onInit(List<? extends IndexCommit> commits)
49         throws IOException;
50
51     public native void onCommit(List<? extends IndexCommit> commits)
52         throws IOException;
53 }