private AutoCloseableIterator<? extends SimpleFeature> applyPostFilter(Filter postFilter, AutoCloseableIterator<? extends SimpleFeature> features) { Predicate<SimpleFeature> filterPredicate = PostFilter.forFilter(postFilter); features = AutoCloseableIterator.filter(features, filterPredicate); if (screenMap != null) { Predicate<SimpleFeature> screenMapFilter = new FeatureScreenMapPredicate(screenMap); features = AutoCloseableIterator.filter(features, screenMapFilter); } return features; }
asFeature); AutoCloseableIterator<SimpleFeature> filterNulls = AutoCloseableIterator.filter(asFeatures, Predicates.notNull());
asFeature); AutoCloseableIterator<SimpleFeature> filterNulls = AutoCloseableIterator.filter(asFeatures, Predicates.notNull());
DiffFeatureScreenMapPredicate screenMapPredicate; screenMapPredicate = new DiffFeatureScreenMapPredicate(screenMap, diffType); diffFeatures = AutoCloseableIterator.filter(diffFeatures, screenMapPredicate);
AutoCloseableIterator<DiffEntry> it = AutoCloseableIterator.filter(changes, new Predicate<DiffEntry>() { @Override
AutoCloseableIterator<DiffEntry> it = AutoCloseableIterator.filter(changes, new Predicate<DiffEntry>() { @Override
@Test public void testFilter() { AtomicBoolean closed = new AtomicBoolean(false); TestAutoCloseableIterator testIter = new TestAutoCloseableIterator(closed); try (AutoCloseableIterator<String> filtered = AutoCloseableIterator.filter(testIter, new Predicate<String>() { @Override public boolean apply(String input) { return input.contains("1"); } })) { assertTrue(filtered.hasNext()); assertTrue(filtered.hasNext()); assertEquals("item1", filtered.next()); assertEquals("item11", filtered.next()); assertFalse(filtered.hasNext()); exception.expect(NoSuchElementException.class); filtered.next(); } assertTrue(closed.get()); }