@Override public boolean hasNext() { return !yielder.isDone() && count < limit; }
@Override public boolean hasMore() { return !rowYielder.isDone(); }
@Override public boolean isDone() { return baseYielder.isDone(); }
@Override public boolean isDone() { return baseYielder.isDone(); }
@Override public boolean isDone() { return baseYielder.isDone(); }
@Override public boolean isDone() { return !accumulator.didSomething() || yielder.isDone(); }
@Override public void serialize(Yielder yielder, final JsonGenerator jgen, SerializerProvider provider) throws IOException { try { jgen.writeStartArray(); while (!yielder.isDone()) { final Object o = yielder.get(); jgen.writeObject(o); yielder = yielder.next(null); } jgen.writeEndArray(); } finally { yielder.close(); } } }
public Meta.Frame nextFrame(final long fetchOffset, final int fetchMaxRowCount) { synchronized (lock) { ensure(State.RUNNING); Preconditions.checkState(fetchOffset == offset, "fetchOffset[%,d] != offset[%,d]", fetchOffset, offset); try { final List<Object> rows = new ArrayList<>(); while (!yielder.isDone() && (fetchMaxRowCount < 0 || offset < fetchOffset + fetchMaxRowCount)) { rows.add(yielder.get()); yielder = yielder.next(null); offset++; } final boolean done = yielder.isDone(); if (done) { close(); } return new Meta.Frame(fetchOffset, done, rows); } catch (Throwable t) { this.throwable = t; try { close(); } catch (Throwable t1) { t.addSuppressed(t1); } throw t; } } }
@Override public Yielder<T> accumulate(Yielder<T> accumulated, Sequence<T> in) { final Yielder<T> retVal = in.toYielder( null, new YieldingAccumulator<T, T>() { @Override public T accumulate(T accumulated, T in) { yield(); return in; } } ); if (retVal.isDone()) { try { retVal.close(); } catch (IOException e) { throw Throwables.propagate(e); } return null; } else { yield(); } return retVal; } }
if (!yielder.isDone()) { queue.add(yielder); } else {
retVal = accumulator.accumulate(retVal, yielder.get()); yielder = yielder.next(null); if (yielder.isDone()) { try { yielder.close();
while (!yielder.isDone()) { final Object[] row = yielder.get(); writer.writeRowStart();
public <OutType> Yielder<OutType> makeYielder( Yielder<Sequence<T>> yielderYielder, OutType initValue, YieldingAccumulator<OutType, T> accumulator ) { while (!yielderYielder.isDone()) { Yielder<OutType> yielder = yielderYielder.get().toYielder(initValue, accumulator); if (accumulator.yielded()) { return wrapYielder(yielder, yielderYielder, accumulator); } initValue = yielder.get(); try { yielder.close(); } catch (IOException e) { throw Throwables.propagate(e); } yielderYielder = yielderYielder.next(null); } return Yielders.done(initValue, yielderYielder); }
while (!yielder.isDone()) { final SegmentAnalysis analysis = yielder.get(); final DataSegment segment = segmentMap.get(analysis.getId());
private void check(String expected, Sequence<Integer> complex) { List<Integer> combined = complex.toList(); Assert.assertEquals(expected, combined.toString()); Yielder<Integer> yielder = complex.toYielder( null, new YieldingAccumulator<Integer, Integer>() { @Override public Integer accumulate(Integer accumulated, Integer in) { yield(); return in; } } ); List<Integer> combinedByYielder = new ArrayList<>(); while (!yielder.isDone()) { combinedByYielder.add(yielder.get()); yielder = yielder.next(null); } Assert.assertEquals(expected, combinedByYielder.toString()); }
while (!yielder.isDone()) { result.add(yielder.get()); yielder = yielder.next(null);
final boolean finalFinalValue; if (!yielder.isDone()) { retVal = combiningAccumulator.getRetVal(); finalYielder = null;