Interface | Description |
---|---|
Either<L,R> |
Either represents a value of two possible types.
|
Match |
Match is a Java switch on steroids (without the negative 'side effects'). |
Match.MatchFunction<R> |
Match as Function
|
Match.MatchFunction.Effect | |
Match.MatchValue<R> | |
Match.MatchValue.Effect | |
Match.SerializableConsumer<T> | |
Match.SerializablePredicate<T> | |
Option<T> |
Replacement for
Optional . |
Try<T> |
An implementation similar to Scala's Try control.
|
Try.CheckedConsumer<T> |
A Consumer which may throw.
|
Try.CheckedFunction<T,R> |
A Function which may throw.
|
Try.CheckedPredicate<T> |
A Predicate which may throw.
|
Try.CheckedRunnable |
A Runnable which may throw.
|
Try.CheckedSupplier<R> |
A Supplier which may throw.
|
Validation<E,T> |
An implementation similar to scalaz's Validation control.
|
Exception | Description |
---|---|
MatchError |
A
Match throws a MatchError if no case matches the applied object. |
Try.FatalException |
An unchecked wrapper for Fatal exceptions.
|
Try.NonFatalException |
An unchecked wrapper for non-fatal/recoverable exceptions.
|
Match
The match control is a more mature switch expression with pattern matching capabilities.
Either
The control package contains an implementation of the Either control which is either Left or Right. A given Either is projected to a Left or a Right. Both cases can be further processed with control operations map, flatMap, filter. If a Right is projected to a Left, the Left control operations have no effect on the Right value. If a Left is projected to a Right, the Right control operations have no effect on the Left value.
Option
The Option control is a replacement for Optional. An Option is either
Option.Some value or Option.None.
In contrast to Optional, Option supports null values, i.e. it is possible to call new Some(null)
.
However, Option.of(null)
results in None.
Try
Exceptions are handled with the Try control which is either a Try.Success, containing a result, or a Try.Failure, containing an Exception.
Try internally handles exceptions by wrapping exceptions in a Cause. A Cause is unchecked, i.e. a RuntimeException, and is Fatal or NonFatal. Fatal exceptions cannot be handled and are thrown without further processing. NonFatal exceptions are wrapped in a Failure.
Copyright © 2016. All Rights Reserved.