/* ====================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ====================================================================
*/
package org.apache.pylucene.util;
import java.util.Set;
import java.util.Collection;
import java.util.Iterator;
import java.lang.reflect.Array;
public class PythonSet implements Set {
private long pythonObject;
public PythonSet()
{
}
public void pythonExtension(long pythonObject)
{
this.pythonObject = pythonObject;
}
public long pythonExtension()
{
return this.pythonObject;
}
public void finalize()
throws Throwable
{
pythonDecRef();
}
public native void pythonDecRef();
public native boolean add(Object obj);
public native boolean addAll(Collection c);
public native void clear();
public native boolean contains(Object obj);
public native boolean containsAll(Collection c);
public native boolean equals(Object obj);
public native boolean isEmpty();
public native Iterator iterator();
public native boolean remove(Object obj);
public native boolean removeAll(Collection c);
public native boolean retainAll(Collection c);
public native int size();
public native Object[] toArray();
public Object[] toArray(Object[] a)
{
Object[] array = toArray();
if (a.length < array.length)
a = (Object[]) Array.newInstance(a.getClass().getComponentType(),
array.length);
System.arraycopy(array, 0, a, 0, array.length);
return a;
}
}