Class IterableLens
- java.lang.Object
-
- com.jnape.palatable.lambda.optics.lenses.IterableLens
-
public final class IterableLens extends java.lang.ObjectLenses that operate onIterables.
-
-
Constructor Summary
Constructors Modifier Constructor Description privateIterableLens()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <A> Lens.Simple<java.lang.Iterable<A>,Maybe<A>>head()A lens focusing on the head of a givenIterable.static <A,B>
Iso.Simple<java.lang.Iterable<A>,java.lang.Iterable<B>>mapping(Iso<A,A,B,B> abIso)An iso focusing on the mapped values of anIterable.static <A> Lens.Simple<java.lang.Iterable<A>,java.lang.Iterable<A>>tail()A lens focusing on the tail of anIterable.
-
-
-
Method Detail
-
head
public static <A> Lens.Simple<java.lang.Iterable<A>,Maybe<A>> head()
A lens focusing on the head of a givenIterable.Note that this lens is effectively lawful, though difficult to prove since there is no useful equality implementation for
Iterable.- Type Parameters:
A- the Iterable element type- Returns:
- a lens focusing on the head element of an
Iterable
-
tail
public static <A> Lens.Simple<java.lang.Iterable<A>,java.lang.Iterable<A>> tail()
A lens focusing on the tail of anIterable.- Type Parameters:
A- the Iterable element type- Returns:
- a lens focusing on the tail of an
Iterable
-
mapping
public static <A,B> Iso.Simple<java.lang.Iterable<A>,java.lang.Iterable<B>> mapping(Iso<A,A,B,B> abIso)
An iso focusing on the mapped values of anIterable.- Type Parameters:
A- the unmappedIterableelement typeB- the mappedIterableelement type- Parameters:
abIso- the iso from A to B- Returns:
- an iso that maps
Iterable<A> toIterable<B>
-
-