public static <T> Sequence<T> filter(Sequence<T> sequence, Predicate<T> pred) { return new FilteredSequence<>(sequence, pred); }
@Override public <OutType> Yielder<OutType> toYielder(OutType initValue, YieldingAccumulator<OutType, T> accumulator) { final FilteringYieldingAccumulator<OutType, T> filteringAccumulator = new FilteringYieldingAccumulator<>(pred, accumulator); return wrapYielder(baseSequence.toYielder(initValue, filteringAccumulator), filteringAccumulator); }
: filter.makeMatcher(columnSelectorFactory); final FilteredSequence<Row> filteredSequence = new FilteredSequence<>( rows, new Predicate<Row>() closeOnExit.add(grouper); final AggregateResult retVal = filteredSequence.accumulate(AggregateResult.ok(), accumulator); if (!retVal.isOk()) { throw new ResourceLimitExceededException(retVal.getReason());
@Test public void testSanity() throws Exception { Predicate<Integer> pred = new Predicate<Integer>() { @Override public boolean apply(Integer input) { return input % 3 == 0; } }; for (int i = 0; i < 25; ++i) { List<Integer> vals = new ArrayList<>(); for (int j = 0; j < i; ++j) { vals.add(j); } SequenceTestHelper.testAll( StringUtils.format("Run %,d: ", i), new FilteredSequence<>(Sequences.simple(vals), pred), Lists.newArrayList(Iterables.filter(vals, pred)) ); } } }
@Override public <OutType> Yielder<OutType> toYielder(OutType initValue, YieldingAccumulator<OutType, T> accumulator) { final FilteringYieldingAccumulator<OutType, T> filteringAccumulator = new FilteringYieldingAccumulator<>( pred, accumulator ); return wrapYielder(baseSequence.toYielder(initValue, filteringAccumulator), filteringAccumulator); }
: filter.makeMatcher(columnSelectorFactory); return new FilteredSequence<>( rows, input -> {
public static <T> Sequence<T> filter(Sequence<T> sequence, Predicate<T> pred) { return new FilteredSequence<>(sequence, pred); }