public abstract class Monad<T>
extends java.lang.Object
| Modifier and Type | Method and Description |
|---|---|
abstract @NotNull Monad<T> |
apply(@NotNull Consumer<? super T> consumer) |
java.util.Optional<T> |
asOptional() |
Result |
asResult() |
Result |
asResult(java.lang.String message) |
static <T> @NotNull Monad<T> |
bind(T value) |
static <T> @NotNull Monad<T> |
bindFrom(@NotNull Supplier<? extends T> supplier) |
static <T> @NotNull Monad<T> |
empty() |
boolean |
equals(java.lang.Object o) |
abstract @NotNull Monad<T> |
filter(@NotNull Predicate<? super T> predicate) |
@NotNull Monad<T> |
filterIs(@NotNull java.lang.Class<? extends T> clazz) |
@NotNull Monad<T> |
filterNonNull() |
@NotNull Monad<T> |
filterNot(@NotNull Predicate<? super T> predicate) |
abstract <R> @NotNull Monad<R> |
flatMap(@NotNull Function<? super T,Monad<R>> function) |
abstract T |
get() |
int |
hashCode() |
void |
ifNotPresent(@NotNull Action action) |
void |
ifPresent(@NotNull Consumer<? super T> consumer) |
abstract <R> @NotNull Monad<R> |
map(@NotNull Function<? super T,? extends R> function) |
boolean |
notPresent() |
abstract T |
orElse(@NotNull Supplier<? extends T> supplier) |
abstract T |
orElse(T value) |
abstract <X extends java.lang.Throwable> |
orThrow(@NotNull Supplier<? extends X> supplier) |
boolean |
present() |
abstract @NotNull Monad<T> |
requireNonNull() |
java.lang.String |
toString() |
protected final T value
public Monad(T value)
@NotNull public static <T> @NotNull Monad<T> bind(T value)
@NotNull public static <T> @NotNull Monad<T> bindFrom(@NotNull @NotNull Supplier<? extends T> supplier)
@NotNull public static <T> @NotNull Monad<T> empty()
@NotNull public abstract @NotNull Monad<T> filter(@NotNull @NotNull Predicate<? super T> predicate)
@NotNull public @NotNull Monad<T> filterNot(@NotNull @NotNull Predicate<? super T> predicate)
@NotNull public @NotNull Monad<T> filterIs(@NotNull @NotNull java.lang.Class<? extends T> clazz)
@NotNull public abstract <R> @NotNull Monad<R> map(@NotNull @NotNull Function<? super T,? extends R> function)
@NotNull public abstract <R> @NotNull Monad<R> flatMap(@NotNull @NotNull Function<? super T,Monad<R>> function)
@NotNull public abstract @NotNull Monad<T> apply(@NotNull @NotNull Consumer<? super T> consumer)
public abstract T get()
public boolean present()
public boolean notPresent()
public void ifNotPresent(@NotNull
@NotNull Action action)
@NotNull public abstract <X extends java.lang.Throwable> T orThrow(@NotNull @NotNull Supplier<? extends X> supplier) throws X extends java.lang.Throwable
X extends java.lang.Throwablepublic java.util.Optional<T> asOptional()
public Result asResult(java.lang.String message)
public Result asResult()
public boolean equals(java.lang.Object o)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic java.lang.String toString()
toString in class java.lang.Object