@Override public void advanceUninterruptibly() { if (!baseIter.hasNext()) { done = true; return; } while (baseIter.hasNext()) { if (Thread.currentThread().isInterrupted()) { return; } IncrementalIndexRow entry = baseIter.next(); if (beyondMaxRowIndex(entry.getRowIndex())) { continue; } currEntry.set(entry); if (filterMatcher.matches()) { return; } } done = true; }
@Override public void advance() { if (!baseIter.hasNext()) { done = true; return; } while (baseIter.hasNext()) { BaseQuery.checkInterrupted(); IncrementalIndexRow entry = baseIter.next(); if (beyondMaxRowIndex(entry.getRowIndex())) { continue; } currEntry.set(entry); if (filterMatcher.matches()) { return; } } done = true; }
@Override public void reset() { baseIter = cursorIterable.iterator(); if (numAdvanced == -1) { numAdvanced = 0; } else { Iterators.advance(baseIter, numAdvanced); } BaseQuery.checkInterrupted(); boolean foundMatched = false; while (baseIter.hasNext()) { IncrementalIndexRow entry = baseIter.next(); if (beyondMaxRowIndex(entry.getRowIndex())) { numAdvanced++; continue; } currEntry.set(entry); if (filterMatcher.matches()) { foundMatched = true; break; } numAdvanced++; } done = !foundMatched && (emptyRange || !baseIter.hasNext()); }
@Override public void reset() { baseIter = cursorIterable.iterator(); if (numAdvanced == -1) { numAdvanced = 0; } else { Iterators.advance(baseIter, numAdvanced); } BaseQuery.checkInterrupted(); boolean foundMatched = false; while (baseIter.hasNext()) { IncrementalIndexRow entry = baseIter.next(); if (beyondMaxRowIndex(entry.getRowIndex())) { numAdvanced++; continue; } currEntry.set(entry); if (filterMatcher.matches()) { foundMatched = true; break; } numAdvanced++; } done = !foundMatched && (emptyRange || !baseIter.hasNext()); }
@Override public void advanceUninterruptibly() { if (!baseIter.hasNext()) { done = true; return; } while (baseIter.hasNext()) { if (Thread.currentThread().isInterrupted()) { return; } IncrementalIndexRow entry = baseIter.next(); if (beyondMaxRowIndex(entry.getRowIndex())) { continue; } currEntry.set(entry); if (filterMatcher.matches()) { return; } } done = true; }
@Override public void advance() { if (!baseIter.hasNext()) { done = true; return; } while (baseIter.hasNext()) { BaseQuery.checkInterrupted(); IncrementalIndexRow entry = baseIter.next(); if (beyondMaxRowIndex(entry.getRowIndex())) { continue; } currEntry.set(entry); if (filterMatcher.matches()) { return; } } done = true; }