ArrayIndex.java

package org.mklab.sdpj.datastructure;

/**
 * In order to get the index of array easily, define the class <code>ArrayIndex</code> to manage array's indices.
 * <br><code>SparseMatrix::sortSparseIndex</code>によるインデックスを呼び出し元に伝える必要があるため、作成しました。
 * 
 * @author takafumi
 */
public class ArrayIndex implements Cloneable {

  /** integer <code>l</code>*/
  private int l;
  /** integer <code>i</code>*/
  private int i;
  /** integer <code>j</code>*/
  private int j;

  /**
   * get <code>i</code>'s value.
   * 
   * @return 指数i
   */
  public int getI() {
    return this.i;
  }

  /**
   *  set <code>i</code>'s value.
   * 
   * @param i 指数i
   */
  public void setI(int i) {
    this.i = i;
  }

  /**
   *  get <code>l</code>'s value.
   * 
   * @return 指数l
   */
  public int getL() {
    return this.l;
  }

  /**
   *  set <code>l</code>'s value.
   * 
   * @param l 指数l
   */
  public void setL(int l) {
    this.l = l;
  }

  /**
   *  get <code>j</code>'s value.
   * 
   * @return 指数j
   */
  public int getJ() {
    return this.j;
  }

  /**
   * set <code>j</code>'s value.
   * 
   * @param j 指数j
   */
  public void setJ(int j) {
    this.j = j;
  }

  /**
   * Return a copy of instance of class <code>ArrayIndex</code>.
   * 
   * @return a copy of instance
   */
  protected ArrayIndex createClone() {
    ArrayIndex index = new ArrayIndex();
    index.setI(this.i);
    index.setJ(this.j);
    index.setL(this.l);
    return index;
  }

  /**
   * A.copyFrom(B) BをAにコピーします。
   * 
   * @param arrayIn 配列の指数
   */
  public void copyFrom(ArrayIndex arrayIn) {
    this.i = arrayIn.i;
    this.j = arrayIn.j;
    this.l = arrayIn.l;

  }
}