View Javadoc
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  }