L
- type of the left valueR
- type of the right valuepublic abstract class Xor<L,R>
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
Xor.Left<L,R>
Left branch of the Xor
|
static class |
Xor.Right<L,R>
Right branch of the Xor
|
Constructor and Description |
---|
Xor() |
Modifier and Type | Method and Description |
---|---|
abstract void |
consume(java.util.function.Consumer<? super L> consumerLeft,
java.util.function.Consumer<? super R> consumerRight) |
abstract boolean |
exists(java.util.function.Predicate<R> p) |
abstract <T> Xor<? super L,T> |
flatMap(java.util.function.Function<? super R,Xor<? super L,T>> mapper) |
abstract <T> T |
fold(java.util.function.Function<? super L,? extends T> mapLeft,
java.util.function.Function<? super R,? extends T> mapRight) |
abstract R |
getOrElse(java.util.function.Supplier<? extends R> supplier) |
abstract boolean |
isLeft() |
abstract boolean |
isRight() |
abstract java.util.Optional<L> |
left() |
static <L,R> Xor.Left<L,R> |
left(L value) |
abstract <T> Xor<L,T> |
map(java.util.function.Function<? super R,? extends T> mapper) |
java.util.Optional<R> |
option() |
abstract R |
orElse(R value) |
abstract java.util.Optional<R> |
right() |
static <L,R> Xor.Right<L,R> |
right(R value) |
public static <L,R> Xor.Left<L,R> left(L value)
public static <L,R> Xor.Right<L,R> right(R value)
public abstract boolean isRight()
public abstract boolean isLeft()
public abstract <T> T fold(java.util.function.Function<? super L,? extends T> mapLeft, java.util.function.Function<? super R,? extends T> mapRight)
public abstract void consume(java.util.function.Consumer<? super L> consumerLeft, java.util.function.Consumer<? super R> consumerRight)
public abstract <T> Xor<? super L,T> flatMap(java.util.function.Function<? super R,Xor<? super L,T>> mapper)
public abstract java.util.Optional<L> left()
public abstract java.util.Optional<R> right()
public abstract boolean exists(java.util.function.Predicate<R> p)
public final java.util.Optional<R> option()