Package fj.data
Class Either3<A,B,C>
- java.lang.Object
-
- fj.data.Either3<A,B,C>
-
- Direct Known Subclasses:
Either3.Left
,Either3.Middle
,Either3.Right
public abstract class Either3<A,B,C> extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
Either3.Left<A,B,C>
static class
Either3.LeftProjection<A,B,C>
private static class
Either3.Middle<A,B,C>
static class
Either3.MiddleProjection<A,B,C>
private static class
Either3.Right<A,B,C>
static class
Either3.RightProjection<A,B,C>
-
Constructor Summary
Constructors Modifier Constructor Description private
Either3()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract <D> D
either(F<A,D> fa, F<B,D> fb, F<C,D> fc)
static <A,B,C,D>
F<Either3<A,B,C>,D>either_(F<A,D> fa, F<B,D> fb, F<C,D> fc)
boolean
equals(java.lang.Object other)
int
hashCode()
boolean
isLeft()
boolean
isMiddle()
boolean
isRight()
static <A,B,C>
Either3<A,B,C>joinLeft(Either3<Either3<A,B,C>,B,C> e)
static <A,B,C>
Either3<A,B,C>joinMiddle(Either3<A,Either3<A,B,C>,C> e)
static <A,B,C>
Either3<A,B,C>joinRight(Either3<A,B,Either3<A,B,C>> e)
Either3.LeftProjection<A,B,C>
left()
static <A,B,C>
Either3<A,B,C>left(A a)
static <A,B,C>
F<A,Either3<A,B,C>>left_()
<X> Either3<X,B,C>
leftMap(F<A,X> f)
<X> F<F<A,X>,Either3<X,B,C>>
leftMap_()
Option<A>
leftOption()
<X,Y,Z>
Either3<X,Y,Z>map3(F<A,X> fl, F<B,Y> fm, F<C,Z> fr)
Either3.MiddleProjection<A,B,C>
middle()
static <A,B,C>
Either3<A,B,C>middle(B b)
<X> Either3<A,X,C>
middleMap(F<B,X> f)
<X> F<F<B,X>,Either3<A,X,C>>
middleMap_()
Option<B>
middleOption()
Either3<B,C,A>
moveLeft()
Either3<C,A,B>
moveRight()
Either3.RightProjection<A,B,C>
right()
static <A,B,C>
Either3<A,B,C>right(C c)
<X> Either3<A,B,X>
rightMap(F<C,X> f)
<X> F<F<C,X>,Either3<A,B,X>>
rightMap_()
Option<C>
rightOption()
Either3<C,B,A>
swap()
Either3<B,A,C>
swapLefts()
Either3<A,C,B>
swapRights()
-
-
-
Method Detail
-
left
public static <A,B,C> Either3<A,B,C> left(A a)
-
middle
public static <A,B,C> Either3<A,B,C> middle(B b)
-
right
public static <A,B,C> Either3<A,B,C> right(C c)
-
isLeft
public boolean isLeft()
-
isMiddle
public boolean isMiddle()
-
isRight
public boolean isRight()
-
either_
public static <A,B,C,D> F<Either3<A,B,C>,D> either_(F<A,D> fa, F<B,D> fb, F<C,D> fc)
-
left
public final Either3.LeftProjection<A,B,C> left()
-
middle
public final Either3.MiddleProjection<A,B,C> middle()
-
right
public final Either3.RightProjection<A,B,C> right()
-
equals
public final boolean equals(java.lang.Object other)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public final int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
-