package org.infinispan.stream.impl.intops.object; import java.util.function.Consumer; import java.util.stream.Stream; import org.infinispan.stream.impl.intops.IntermediateOperation; /** * Performs peek operation on a regular {@link Stream} */ public class PeekOperation<S> implements IntermediateOperation<S, Stream<S>, S, Stream<S>> { private final Consumer<? super S> consumer; public PeekOperation(Consumer<? super S> consumer) { this.consumer = consumer; } @Override public Stream<S> perform(Stream<S> stream) { return stream.peek(consumer); } public Consumer<? super S> getConsumer() { return consumer; } }