@Override protected Align clone() { Align a = new Align(); a.indexInAlignment = indexInAlignment; a.hit_index = hit_index; a.query_index = query_index; return a; }
@Override public Align next() { if (curr.indexInAlignment >= owner().getAlignLength()) { throw new IllegalStateException(); } Align ret = curr.clone(); char ch = curr.getHitChar(); char cq = curr.getQueryChar(); if (ch != '-' && ch != ' ') { curr.hit_index += hitShift(); } if (cq != '-' && cq != ' ') { curr.query_index++; } ++curr.indexInAlignment; return ret; }
MyIterator() { curr = new Align(); curr.query_index = owner().getQueryFrom1(); curr.hit_index = owner().getHitFrom1(); curr.indexInAlignment = 0; }