package core.aws.util; import java.util.function.BinaryOperator; import java.util.function.Function; import java.util.stream.Stream; /** * @author neo */ public final class StreamHelper { public static <T> BinaryOperator<T> onlyOne() { return (item1, item2) -> { if (item2 != null) throw new IllegalStateException("multiple items found, items=" + item1 + ", " + item2); return item1; }; } @SuppressWarnings("unchecked") public static <T, R> Function<T, Stream<R>> instanceOf(Class<R> targetClass) { return item -> targetClass.isInstance(item) ? Stream.of((R) item) : Stream.empty(); } }