public void filterRows(){
  if (m_parent == null)   return;
  CascadedRowManager rowman=(CascadedRowManager)m_rows;
  IntIterator crows=m_rows.rows();
  while (crows.hasNext()) {
    int crow=crows.nextInt();
    if (!m_rowFilter.getBoolean(m_parent.getTuple(rowman.getParentRow(crow)))) {
      removeCascadedRow(crow);
    }
  }
  Iterator ptuples=m_parent.tuples(m_rowFilter);
  while (ptuples.hasNext()) {
    Tuple pt=(Tuple)ptuples.next();
    int prow=pt.getRow();
    if (rowman.getChildRow(prow) == -1)     addCascadedRow(prow);
  }
}

public void filterRows ( ) { if ( m_parent == null ) return ; CascadedRowManager rowman = ( CascadedRowManager ) m_rows ; IntIterator crows = m_rows . rows ( ) ; while ( crows . hasNext ( ) ) { int crow = crows . nextInt ( ) ; if ( ! m_rowFilter . getBoolean ( m_parent . getTuple ( rowman . getParentRow ( crow ) ) ) ) { removeCascadedRow ( crow ) ; } } Iterator ptuples = m_parent . tuples ( m_rowFilter ) ; while ( ptuples . hasNext ( ) ) { Tuple pt = ( Tuple ) ptuples . next ( ) ; int prow = pt . getRow ( ) ; if ( rowman . getChildRow ( prow ) == - 1 ) addCascadedRow ( prow ) ; } }
manually trigger a re - filtering of the rows of this table . if the filtering predicate concerns only items within this table , calling this method should be unnecessary . it is only when the filtering predicate references data outside of this table that a manual re - filtering request may be necessary . for example , filtering valid edges of a graph from a pool of candidate edges will depend on the available nodes .
