public interface AsGenericMonad
| Modifier and Type | Method and Description |
|---|---|
static <MONAD,T> Monad<MONAD,T> |
asMonad(java.lang.Object monad)
Create a duck typed Monad.
|
static <T,MONAD> Monad<T,MONAD> |
convertToMonad(java.lang.Object monad) |
static <T> Monad<java.util.stream.Stream<T>,T> |
monad(java.util.Collection<T> monad) |
static <T> Monad<java.util.concurrent.CompletableFuture<T>,T> |
monad(java.util.concurrent.CompletableFuture<T> monad) |
static <T> Monad<java.util.stream.Stream<T>,T> |
monad(java.lang.Iterable<T> monad) |
static <T> Monad<java.util.stream.Stream<T>,T> |
monad(java.util.Iterator<T> monad) |
static <T> Monad<java.util.Optional<T>,T> |
monad(java.util.Optional<T> monad) |
static <T> Monad<java.util.stream.Stream<T>,T> |
monad(java.util.stream.Stream<T> monad) |
static <T> Monad<java.util.stream.Stream<T>,T> |
monad(Streamable<T> monad) |
static <T> Monad<java.util.stream.Stream<T>,T> |
monad(T... values) |
static <T> Monad<?,T> |
toMonad(java.lang.Object monad) |
static <MONAD,T> Monad<MONAD,T> asMonad(java.lang.Object monad)
map(F f)
filter(P p)
flatMap(F<x,MONAD> fm)
Where F is a Functional Interface of any type that takes a single parameter and returns
a result.
Where P is a Functional Interface of any type that takes a single parameter and returns
a boolean
flatMap operations on the duck typed Monad can return any Monad typemonad - to wrapstatic <T> Monad<java.util.stream.Stream<T>,T> monad(Streamable<T> monad)
static <T> Monad<java.util.stream.Stream<T>,T> monad(java.util.stream.Stream<T> monad)
static <T> Monad<java.util.Optional<T>,T> monad(java.util.Optional<T> monad)
static <T> Monad<java.util.concurrent.CompletableFuture<T>,T> monad(java.util.concurrent.CompletableFuture<T> monad)
static <T> Monad<java.util.stream.Stream<T>,T> monad(java.util.Collection<T> monad)
static <T> Monad<java.util.stream.Stream<T>,T> monad(java.lang.Iterable<T> monad)
static <T> Monad<java.util.stream.Stream<T>,T> monad(java.util.Iterator<T> monad)
static <T> Monad<java.util.stream.Stream<T>,T> monad(T... values)
static <T> Monad<?,T> toMonad(java.lang.Object monad)
static <T,MONAD> Monad<T,MONAD> convertToMonad(java.lang.Object monad)