Package fj.data
Class Either.LeftProjection<A,B>
- java.lang.Object
-
- fj.data.Either.LeftProjection<A,B>
-
-
Constructor Summary
Constructors Modifier Constructor Description private
LeftProjection(Either<A,B> e)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <X> Either<X,B>
apply(Either<F<A,X>,B> e)
Function application on this projection's value.<X> Either<X,B>
bind(F<A,Either<X,B>> f)
Binds the given function across this projection's value if it has one.Either<A,B>
either()
The either value underlying this projection.boolean
exists(F<A,java.lang.Boolean> f)
Returnsfalse
if no value or returns the result of the application of the given function to the value.<X> Option<Either<A,X>>
filter(F<A,java.lang.Boolean> f)
ReturnsNone
if this projection has no value or if the given predicatep
does not hold for the value, otherwise, returns a right inSome
.boolean
forall(F<A,java.lang.Boolean> f)
Returnstrue
if no value or returns the result of the application of the given function to the value.Unit
foreach(F<A,Unit> f)
Execute a side-effect on this projection's value if it has one.void
foreachDoEffect(Effect1<A> f)
Execute a side-effect on this projection's value if it has one.java.util.Iterator<A>
iterator()
Returns an iterator for this projection.<X> Either<X,B>
map(F<A,X> f)
Map the given function across this projection's value if it has one.A
on(F<B,A> f)
The value of this projection or the result of the given function on the opposing projection's value.A
orValue(A a)
The value of this projection or the given argument.A
orValue(F0<A> a)
The value of this projection or the given argument.<X> Either<X,B>
sequence(Either<X,B> e)
Anonymous bind through this projection.Array<A>
toArray()
Returns a single element array if this projection has a value, otherwise an empty array.java.util.Collection<A>
toCollection()
Projects an immutable collection of this projection.List<A>
toList()
Returns a single element list if this projection has a value, otherwise an empty list.Option<A>
toOption()
Returns this projection's value inSome
if it exists, otherwiseNone
.Stream<A>
toStream()
Returns a single element stream if this projection has a value, otherwise an empty stream.<C> IO<Either<C,B>>
traverseIO(F<A,IO<C>> f)
Anonymous bind through this projection.<C> List<Either<C,B>>
traverseList(F<A,List<C>> f)
Traverse with function that produces List (non-determinism).<C> Option<Either<C,B>>
traverseOption(F<A,Option<C>> f)
<C> P1<Either<C,B>>
traverseP1(F<A,P1<C>> f)
Traverse this left with the given function and collect the output as a p1.<C> Stream<Either<C,B>>
traverseStream(F<A,Stream<C>> f)
A
value()
The value of this projection or fails with a specialised error message.A
valueE(F0<java.lang.String> err)
Returns the value of this projection or fails with the given error message.A
valueE(java.lang.String err)
Returns the value of this projection or fails with the given error message.
-
-
-
Method Detail
-
iterator
public java.util.Iterator<A> iterator()
Returns an iterator for this projection. This method exists to permit the use in afor
-each loop.- Specified by:
iterator
in interfacejava.lang.Iterable<A>
- Returns:
- A iterator for this projection.
-
either
public Either<A,B> either()
The either value underlying this projection.- Returns:
- The either value underlying this projection.
-
valueE
public A valueE(F0<java.lang.String> err)
Returns the value of this projection or fails with the given error message.- Parameters:
err
- The error message to fail with.- Returns:
- The value of this projection
-
valueE
public A valueE(java.lang.String err)
Returns the value of this projection or fails with the given error message.- Parameters:
err
- The error message to fail with.- Returns:
- The value of this projection
-
value
public A value()
The value of this projection or fails with a specialised error message.- Returns:
- The value of this projection.
-
orValue
public A orValue(F0<A> a)
The value of this projection or the given argument.- Parameters:
a
- The value to return if this projection has no value.- Returns:
- The value of this projection or the given argument.
-
orValue
public A orValue(A a)
The value of this projection or the given argument.- Parameters:
a
- The value to return if this projection has no value.- Returns:
- The value of this projection or the given argument.
-
on
public A on(F<B,A> f)
The value of this projection or the result of the given function on the opposing projection's value.- Parameters:
f
- The function to execute if this projection has no value.- Returns:
- The value of this projection or the result of the given function on the opposing projection's value.
-
foreach
public Unit foreach(F<A,Unit> f)
Execute a side-effect on this projection's value if it has one.- Parameters:
f
- The side-effect to execute.- Returns:
- The unit value.
-
foreachDoEffect
public void foreachDoEffect(Effect1<A> f)
Execute a side-effect on this projection's value if it has one.- Parameters:
f
- The side-effect to execute.
-
map
public <X> Either<X,B> map(F<A,X> f)
Map the given function across this projection's value if it has one.- Parameters:
f
- The function to map across this projection.- Returns:
- A new either value after mapping.
-
bind
public <X> Either<X,B> bind(F<A,Either<X,B>> f)
Binds the given function across this projection's value if it has one.- Parameters:
f
- The function to bind across this projection.- Returns:
- A new either value after binding.
-
sequence
public <X> Either<X,B> sequence(Either<X,B> e)
Anonymous bind through this projection.- Parameters:
e
- The value to bind with.- Returns:
- An either after binding through this projection.
-
traverseList
public <C> List<Either<C,B>> traverseList(F<A,List<C>> f)
Traverse with function that produces List (non-determinism).- Parameters:
f
- the function to traverse with- Returns:
- An either after traversing through this projection.
-
traverseIO
public <C> IO<Either<C,B>> traverseIO(F<A,IO<C>> f)
Anonymous bind through this projection.- Parameters:
f
- the function to traverse with- Returns:
- An either after traversing through this projection.
-
traverseP1
public <C> P1<Either<C,B>> traverseP1(F<A,P1<C>> f)
Traverse this left with the given function and collect the output as a p1.- Type Parameters:
C
- the type of the p1 value- Parameters:
f
- the given function- Returns:
- the p1
-
filter
public <X> Option<Either<A,X>> filter(F<A,java.lang.Boolean> f)
ReturnsNone
if this projection has no value or if the given predicatep
does not hold for the value, otherwise, returns a right inSome
.- Parameters:
f
- The predicate function to test on this projection's value.- Returns:
None
if this projection has no value or if the given predicatep
does not hold for the value, otherwise, returns a right inSome
.
-
apply
public <X> Either<X,B> apply(Either<F<A,X>,B> e)
Function application on this projection's value.- Parameters:
e
- The either of the function to apply on this projection's value.- Returns:
- The result of function application within either.
-
forall
public boolean forall(F<A,java.lang.Boolean> f)
Returnstrue
if no value or returns the result of the application of the given function to the value.- Parameters:
f
- The predicate function to test on this projection's value.- Returns:
true
if no value or returns the result of the application of the given function to the value.
-
exists
public boolean exists(F<A,java.lang.Boolean> f)
Returnsfalse
if no value or returns the result of the application of the given function to the value.- Parameters:
f
- The predicate function to test on this projection's value.- Returns:
false
if no value or returns the result of the application of the given function to the value.
-
toList
public List<A> toList()
Returns a single element list if this projection has a value, otherwise an empty list.- Returns:
- A single element list if this projection has a value, otherwise an empty list.
-
toOption
public Option<A> toOption()
Returns this projection's value inSome
if it exists, otherwiseNone
.- Returns:
- This projection's value in
Some
if it exists, otherwiseNone
.
-
toArray
public Array<A> toArray()
Returns a single element array if this projection has a value, otherwise an empty array.- Returns:
- A single element array if this projection has a value, otherwise an empty array.
-
toStream
public Stream<A> toStream()
Returns a single element stream if this projection has a value, otherwise an empty stream.- Returns:
- A single element stream if this projection has a value, otherwise an empty stream.
-
toCollection
public java.util.Collection<A> toCollection()
Projects an immutable collection of this projection.- Returns:
- An immutable collection of this projection.
-
-