public void begin(CEConstraint ce, ChunkWriter cw, boolean withdmr) throws DapException { this.cw = cw; if (ce == null) ce = CEConstraint.getUniversal(this.dmr); this.ce = ce; this.order = cw.getOrder(); this.withdmr = withdmr; writer = new SerialWriter(this.cw, this.order); }
// Iterator interface public boolean hasNext() { if (recno < nrecords) return false; try { // look for next matching record starting at recno if (filter == null) { this.current = data.readRecord(this.recno); this.recno++; return true; } else for (; recno < nrecords; recno++) { this.current = data.readRecord(this.recno); if (ce.matches(this.seq, this.current, filter)) return true; } } catch (DapException de) { return false; } this.current = null; return false; }