/** * Filter an object stream. * * @param <T> The type of object stream rows. * @param stream The source stream. * @param predicate A predicate indicating which rows to return. * @return An object stream returning all rows for which <var>predicate</var> returns * {@code true}. */ public static <T> ObjectStream<T> filter(@WillCloseWhenClosed ObjectStream<T> stream, Predicate<? super T> predicate) { return new FilteredObjectStream<>(stream, predicate); }
/** * Filter an object stream. * * @param <T> The type of object stream rows. * @param stream The source stream. * @param predicate A predicate indicating which rows to return. * @return An object stream returning all rows for which <var>predicate</var> returns * {@code true}. */ public static <T> ObjectStream<T> filter(@WillCloseWhenClosed ObjectStream<T> stream, Predicate<? super T> predicate) { return new FilteredObjectStream<>(stream, predicate); }