package clucene;
public class _CL_p_p_lucene__index__IndexReaderArray {

  private long swigCPtr;
  protected boolean swigCMemOwn;

  protected _CL_p_p_lucene__index__IndexReaderArray(long cPtr, boolean cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = cPtr;
  }

  public static long getCPtr(_CL_p_p_lucene__index__IndexReaderArray obj) {
    return (obj == null) ? 0 : obj.swigCPtr;
  }

  protected void finalize() {
    delete();
  }

  public void delete() {
    if(swigCPtr != 0 && swigCMemOwn) {
      swigCMemOwn = false;
      CLjavaJNI.delete__CL_p_p_lucene__index__IndexReaderArray(swigCPtr);
    }
    swigCPtr = 0;
  }

	public _CL_p_p_lucene__index__IndexReaderArray(IndexReader[] val) {
    this(CLjavaJNI.new__CL_p_p_lucene__index__IndexReaderArray(), true);
    
		int size=val.length;
		this.init(size);
		for ( int i=0;i<size;i++ )
			this.set(val[i],i);
	}
	
	
  public IndexReader[] toArray()
	{
		int len = this.length();
		IndexReader[] ret = new IndexReader[len];
		for ( int i=0;i<len;i++ )
			ret[i]=get(i);
		return ret;
	}
	
  public int length() {
    return CLjavaJNI._CL_p_p_lucene__index__IndexReaderArray_length(swigCPtr);
  }

  public void init(int len) {
    CLjavaJNI._CL_p_p_lucene__index__IndexReaderArray_init(swigCPtr, len);
  }

  public IndexReader get(int idx) {
    long cPtr = CLjavaJNI._CL_p_p_lucene__index__IndexReaderArray_get(swigCPtr, idx);
    return (cPtr == 0) ? null : new IndexReader(cPtr, false);
  }

  public void set(IndexReader a, int i) {
    CLjavaJNI._CL_p_p_lucene__index__IndexReaderArray_set(swigCPtr, IndexReader.getCPtr(a), i);
  }

}
