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
6 * http://www.apache.org/licenses/LICENSE-2.0
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 * ====================================================================
16 package org.apache.pylucene.util;
19 import java.util.Collection;
20 import java.util.Iterator;
21 import java.lang.reflect.Array;
24 public class PythonSet implements Set {
26 private long pythonObject;
32 public void pythonExtension(long pythonObject)
34 this.pythonObject = pythonObject;
36 public long pythonExtension()
38 return this.pythonObject;
41 public void finalize()
47 public native void pythonDecRef();
49 public native boolean add(Object obj);
50 public native boolean addAll(Collection c);
51 public native void clear();
52 public native boolean contains(Object obj);
53 public native boolean containsAll(Collection c);
54 public native boolean equals(Object obj);
55 public native boolean isEmpty();
56 public native Iterator iterator();
57 public native boolean remove(Object obj);
58 public native boolean removeAll(Collection c);
59 public native boolean retainAll(Collection c);
60 public native int size();
61 public native Object[] toArray();
63 public Object[] toArray(Object[] a)
65 Object[] array = toArray();
67 if (a.length < array.length)
68 a = (Object[]) Array.newInstance(a.getClass().getComponentType(),
71 System.arraycopy(array, 0, a, 0, array.length);