@Test public void testAnd() { assertTrue(FilterFn.and(TRUE).accept("foo")); assertTrue(FilterFn.and(TRUE, TRUE).accept("foo")); assertFalse(FilterFn.and(TRUE, FALSE).accept("foo")); assertFalse(FilterFn.and(FALSE, FALSE, FALSE).accept("foo")); }
public static <S> FilterFn<S> and(FilterFn<S>...fns) { return new AndFn<S>(fns); }
FilterFn extends DoFn<T, T> { public static <S> FilterFn<S> and(FilterFn<S>...fns) { return new AndFn<S>(fns); } }
FilterFn extends DoFn<T, T> { public static <S> FilterFn<S> and(FilterFn<S>...fns) { return new AndFn<S>(fns); }  }
FilterFn extends DoFn<T, T> { public static <S> FilterFn<S> and(FilterFn<S>...fns) { return new AndFn<S>(fns); }  abstract boolean accept(T input); @Override void process(T input, Emitter<T> emitter); @Override float scaleFactor(); static FilterFn<S> and(FilterFn<S>...fns); static FilterFn<S> or(FilterFn<S>...fns); static FilterFn<S> not(FilterFn<S> fn); }
FilterFn extends DoFn<T, T> { public static <S> FilterFn<S> and(FilterFn<S>...fns) { return new AndFn<S>(fns); }  abstract boolean accept(T input); @Override void process(T input, Emitter<T> emitter); @Override float scaleFactor(); static FilterFn<S> and(FilterFn<S>...fns); static FilterFn<S> or(FilterFn<S>...fns); static FilterFn<S> not(FilterFn<S> fn);  }