コード例 #1
0
ファイル: TreeIndex.java プロジェクト: netsym/primogeni
  /** @see prefuse.data.util.Index#index() */
  public void index() {
    m_index.clear();

    // iterate over all valid values, adding them to the index
    int idx = getColumnIndex();
    m_colidx = idx;
    IntIterator rows = m_rows.rows();

    if (m_index instanceof IntIntSortedMap) {
      IntIntSortedMap map = (IntIntSortedMap) m_index;
      while (rows.hasNext()) {
        int r = rows.nextInt();
        map.put(m_col.getInt(m_table.getColumnRow(r, idx)), r);
      }
    } else if (m_index instanceof LongIntSortedMap) {
      LongIntSortedMap map = (LongIntSortedMap) m_index;
      while (rows.hasNext()) {
        int r = rows.nextInt();
        map.put(m_col.getLong(m_table.getColumnRow(r, idx)), r);
      }
    } else if (m_index instanceof FloatIntSortedMap) {
      FloatIntSortedMap map = (FloatIntSortedMap) m_index;
      while (rows.hasNext()) {
        int r = rows.nextInt();
        map.put(m_col.getFloat(m_table.getColumnRow(r, idx)), r);
      }
    } else if (m_index instanceof DoubleIntSortedMap) {
      DoubleIntSortedMap map = (DoubleIntSortedMap) m_index;
      while (rows.hasNext()) {
        int r = rows.nextInt();
        map.put(m_col.getDouble(m_table.getColumnRow(r, idx)), r);
      }
    } else if (m_index instanceof BooleanIntSortedMap) {
      BooleanIntSortedMap map = (BooleanIntSortedMap) m_index;
      while (rows.hasNext()) {
        int r = rows.nextInt();
        map.put(m_col.getBoolean(m_table.getColumnRow(r, idx)), r);
      }
    } else if (m_index instanceof ObjectIntSortedMap) {
      ObjectIntSortedMap map = (ObjectIntSortedMap) m_index;
      while (rows.hasNext()) {
        int r = rows.nextInt();
        map.put(m_col.get(m_table.getColumnRow(r, idx)), r);
      }
    } else {
      throw new IllegalStateException();
    }

    m_reindex = false;
  }
コード例 #2
0
ファイル: TreeIndex.java プロジェクト: netsym/primogeni
  private void rowChanged(int row, boolean insert) {
    // make sure we access the right column value
    int crow = m_rows.getColumnRow(row, getColumnIndex());

    if (m_index instanceof IntIntSortedMap) {
      IntIntSortedMap map = (IntIntSortedMap) m_index;
      int key = m_col.getInt(row);
      if (insert) map.put(key, row);
      else map.remove(key, row);
    } else if (m_index instanceof LongIntSortedMap) {
      LongIntSortedMap map = (LongIntSortedMap) m_index;
      long key = m_col.getLong(crow);
      if (insert) map.put(key, row);
      else map.remove(key, row);
    } else if (m_index instanceof FloatIntSortedMap) {
      FloatIntSortedMap map = (FloatIntSortedMap) m_index;
      float key = m_col.getFloat(crow);
      if (insert) map.put(key, row);
      else map.remove(key, row);
    } else if (m_index instanceof DoubleIntSortedMap) {
      DoubleIntSortedMap map = (DoubleIntSortedMap) m_index;
      double key = m_col.getDouble(crow);
      if (insert) map.put(key, row);
      else map.remove(key, row);
    } else if (m_index instanceof BooleanIntSortedMap) {
      BooleanIntSortedMap map = (BooleanIntSortedMap) m_index;
      boolean key = m_col.getBoolean(crow);
      if (insert) map.put(key, row);
      else map.remove(key, row);
    } else if (m_index instanceof ObjectIntSortedMap) {
      ObjectIntSortedMap map = (ObjectIntSortedMap) m_index;
      Object key = m_col.get(crow);
      if (insert) map.put(key, row);
      else map.remove(key, row);
    } else {
      throw new IllegalStateException();
    }
  }
コード例 #3
0
ファイル: TreeIndex.java プロジェクト: netsym/primogeni
  /** @see prefuse.data.util.Index#rows(boolean) */
  public IntIterator rows(boolean val) {
    if (!(m_index instanceof BooleanIntSortedMap)) throw new IllegalStateException();

    BooleanIntSortedMap index = (BooleanIntSortedMap) m_index;
    return index.valueRangeIterator(val, true, val, true);
  }
コード例 #4
0
ファイル: TreeIndex.java プロジェクト: netsym/primogeni
 /**
  * @see prefuse.data.event.ColumnListener#columnChanged(prefuse.data.column.Column, int, boolean)
  */
 public void columnChanged(Column src, int idx, boolean prev) {
   int row = m_rows.getTableRow(idx, getColumnIndex());
   if (row < 0) return; // invalid row value
   ((BooleanIntSortedMap) m_index).remove(prev, row);
   ((BooleanIntSortedMap) m_index).put(src.getBoolean(idx), row);
 }