Package org.apache.tapestry5.func
Interface ZippedFlow<A,B>

 Type Parameters:
A
 first typeB
 second type
 All Superinterfaces:
FlowOperations<Tuple<A,B>,ZippedFlow<A,B>>
,Iterable<Tuple<A,B>>
public interface ZippedFlow<A,B> extends FlowOperations<Tuple<A,B>,ZippedFlow<A,B>>
The result of theFlow.zipWith(Flow)
method (or created from a Map viaF.zippedFlow(Map)
), a Flow of combinedTuple
values (that can be deconstructed, eventually, usingunzip()
). Since:
 5.3


Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ZippedFlow<A,B>
filterOnFirst(Predicate<? super A> predicate)
Filters the tuples in the zipped flow by applying a predicate to the first value in each tuple.ZippedFlow<A,B>
filterOnSecond(Predicate<? super B> predicate)
Filters the tuples in the zipped flow by applying a predicate to the second value in each tuple.Flow<A>
firsts()
Returns a flow of the first values of the tuples of the zipped flow.<X,Y>
ZippedFlow<X,Y>mapTuples(Mapper<Tuple<A,B>,Tuple<X,Y>> mapper)
Mapping for zipped flows; a mapper is used to map tuples of this zipped flow into new tuples with a new type, forming the resulting zipped flow.ZippedFlow<A,B>
removeOnFirst(Predicate<? super A> predicate)
Removes tuples from the zipped flow by applying a predicate to the first value in each tuple.ZippedFlow<A,B>
removeOnSecond(Predicate<? super B> predicate)
Removes tuples from the zipped flow by applying a predicate to the second value in each tuple.Flow<B>
seconds()
Returns a flow of the second values of the tuples of the zipped flow.Map<A,B>
toMap()
Constructs a HashMap by converting the tuples of the zipped flow into keys (first tuple value) and values (second tuple value).Tuple<Flow<A>,Flow<B>>
unzip()
A ZippedFlow is a Flow of Tuples; this inverts that, splitting each Tuple into a Flow of elements, then assembling the result as a Tuple of two values.
Methods inherited from interface org.apache.tapestry5.func.FlowOperations
concat, count, drop, each, filter, first, isEmpty, reduce, remove, removeNulls, rest, reverse, sort, take, toList, toSet

Methods inherited from interface java.lang.Iterable
forEach, iterator, spliterator




Method Detail

mapTuples
<X,Y> ZippedFlow<X,Y> mapTuples(Mapper<Tuple<A,B>,Tuple<X,Y>> mapper)
Mapping for zipped flows; a mapper is used to map tuples of this zipped flow into new tuples with a new type, forming the resulting zipped flow. This is a lazy operation.

unzip
Tuple<Flow<A>,Flow<B>> unzip()
A ZippedFlow is a Flow of Tuples; this inverts that, splitting each Tuple into a Flow of elements, then assembling the result as a Tuple of two values. This is a lazy operation. Returns:
 two flows of unzipped Tuples

firsts
Flow<A> firsts()
Returns a flow of the first values of the tuples of the zipped flow. This is a lazy operation.

seconds
Flow<B> seconds()
Returns a flow of the second values of the tuples of the zipped flow. This is a lazy operation.

filterOnFirst
ZippedFlow<A,B> filterOnFirst(Predicate<? super A> predicate)
Filters the tuples in the zipped flow by applying a predicate to the first value in each tuple. This is a lazy operation.

filterOnSecond
ZippedFlow<A,B> filterOnSecond(Predicate<? super B> predicate)
Filters the tuples in the zipped flow by applying a predicate to the second value in each tuple. This is a lazy operations.

removeOnFirst
ZippedFlow<A,B> removeOnFirst(Predicate<? super A> predicate)
Removes tuples from the zipped flow by applying a predicate to the first value in each tuple. This is a lazy operation.

removeOnSecond
ZippedFlow<A,B> removeOnSecond(Predicate<? super B> predicate)
Removes tuples from the zipped flow by applying a predicate to the second value in each tuple. This is a lazy operations.

