@Override public void processNext(final InputRow row, final int distinctCount, final FilterOutcomes outcomes) { final int nextIndex = _consumerIndex + 1; if (nextIndex >= _consumers.size()) { // finished! _resultRecords.add(row); _resultOutcomes.add(outcomes); return; } final ConsumeRowHandlerDelegate subDelegate = new ConsumeRowHandlerDelegate(_consumers, row, nextIndex, outcomes, _resultRecords, _resultOutcomes); subDelegate.consume(); }
/** * Consumes a {@link InputRow} by applying all transformations etc. to it, * returning a result of transformed rows and their {@link FilterOutcomes}s. * * @param row * @return */ public ConsumeRowResult consumeRow(final InputRow row) { final FilterOutcomes outcomes = new FilterOutcomesImpl(_alwaysSatisfiedOutcomes); final ConsumeRowHandlerDelegate delegate = new ConsumeRowHandlerDelegate(_consumers, row, 0, outcomes); return delegate.consume(); }