1 package org.davidmoten.kool.internal.operators.maybe;
2
3 import java.util.Optional;
4
5 import org.davidmoten.kool.Maybe;
6 import org.davidmoten.kool.function.Consumer;
7
8 public final class MaybeDoOnValue<T> implements Maybe<T> {
9
10 private final Consumer<? super T> consumer;
11 private final Maybe<T> maybe;
12
13 public MaybeDoOnValue(Consumer<? super T> consumer, Maybe<T> maybe) {
14 this.consumer = consumer;
15 this.maybe = maybe;
16 }
17
18 @Override
19 public Optional<T> get() {
20 Optional<T> v = maybe.get();
21 if (v.isPresent()) {
22 consumer.acceptUnchecked(v.get());
23 }
24 return v;
25 }
26
27 }