Package com.fizzed.crux.util
Class Maybe<T>
- java.lang.Object
-
- com.fizzed.crux.util.Maybe<T>
-
- Type Parameters:
T- The type of Maybe
public class Maybe<T> extends java.lang.ObjectSimilar to a Java 8 optional, but this version is different in the following ways:- Nulls are accepted in constructor (no need for of() vs. ofNullable())
- Value is mutable (useful to get around lambda & final variables restriction)
- Non-final and can be subclassed
- toString() returns the .toString() of the value rather than Optional[value]
- Author:
- jjlauer
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static <T> Maybe<T>empty()booleanequals(java.lang.Object obj)Maybe<T>filter(java.util.function.Predicate<? super T> predicate)<U> Maybe<U>flatMap(java.util.function.Function<? super T,Maybe<U>> mapper)Tget()inthashCode()Returns the hash code of the value, if present, otherwise0(zero) if no value is present.Maybe<T>ifAbsent(java.lang.Runnable runnable)Maybe<T>ifPresent(java.util.function.Consumer<? super T> consumer)booleanisAbsent()booleanisPresent()<U> Maybe<U>jvmFlatMap(java.util.function.Function<? super T,java.util.Optional<U>> mapper)java.util.Optional<T>jvmOptional()<U> java.util.stream.Stream<U>jvmStream(java.util.function.Function<? super T,? extends java.lang.Iterable<U>> mapper)<U> Maybe<U>map(java.util.function.Function<? super T,? extends U> mapper)<U> java.util.stream.Stream<U>mapStream(java.util.function.Function<? super T,? extends java.lang.Iterable<U>> mapper)Deprecated.booleanmatch(java.util.function.Predicate<? super T> predicate)Matches if value is PRESENT and passes the predicate.static <T> Maybe<T>maybe(java.util.Optional<T> valueOptional)static <T> Maybe<T>maybe(T value)static <T> Maybe<T>of(java.util.Optional<T> valueOptional)static <T> Maybe<T>of(T value)<U> Maybe<U>optMap(java.util.function.Function<? super T,java.util.Optional<U>> mapper)Deprecated.TorElse(T defaultValue)TorGet(java.util.function.Supplier<T> defaultSupplier)TorNull()<X extends java.lang.Throwable>
TorThrow(java.util.function.Supplier<? extends X> exceptionSupplier)voidset(T value)<U> MaybeStream<U>stream(java.util.function.Function<? super T,? extends java.lang.Iterable<U>> mapper)java.util.Optional<T>toOptional()Deprecated.java.lang.StringtoString()<U> Maybe<U>typed(java.lang.Class<? super U> type)
-
-
-
Constructor Detail
-
Maybe
public Maybe(T value)
-
-
Method Detail
-
get
public T get()
-
set
public void set(T value)
-
orNull
public T orNull()
-
orThrow
public <X extends java.lang.Throwable> T orThrow(java.util.function.Supplier<? extends X> exceptionSupplier) throws X extends java.lang.Throwable
- Throws:
X extends java.lang.Throwable
-
isPresent
public boolean isPresent()
-
isAbsent
public boolean isAbsent()
-
match
public boolean match(java.util.function.Predicate<? super T> predicate)
Matches if value is PRESENT and passes the predicate.- Parameters:
predicate-- Returns:
-
typed
public <U> Maybe<U> typed(java.lang.Class<? super U> type)
-
jvmStream
public <U> java.util.stream.Stream<U> jvmStream(java.util.function.Function<? super T,? extends java.lang.Iterable<U>> mapper)
-
mapStream
@Deprecated public <U> java.util.stream.Stream<U> mapStream(java.util.function.Function<? super T,? extends java.lang.Iterable<U>> mapper)
Deprecated.
-
stream
public <U> MaybeStream<U> stream(java.util.function.Function<? super T,? extends java.lang.Iterable<U>> mapper)
-
jvmFlatMap
public <U> Maybe<U> jvmFlatMap(java.util.function.Function<? super T,java.util.Optional<U>> mapper)
-
optMap
@Deprecated public <U> Maybe<U> optMap(java.util.function.Function<? super T,java.util.Optional<U>> mapper)
Deprecated.
-
jvmOptional
public java.util.Optional<T> jvmOptional()
-
toOptional
@Deprecated public java.util.Optional<T> toOptional()
Deprecated.
-
empty
public static <T> Maybe<T> empty()
-
of
public static <T> Maybe<T> of(T value)
-
maybe
public static <T> Maybe<T> maybe(T value)
-
of
public static <T> Maybe<T> of(java.util.Optional<T> valueOptional)
-
maybe
public static <T> Maybe<T> maybe(java.util.Optional<T> valueOptional)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
Returns the hash code of the value, if present, otherwise0(zero) if no value is present.- Overrides:
hashCodein classjava.lang.Object- Returns:
- hash code value of the present value or
0if no value is present
-
-