Package io.github.nejckorasa
Class CollectionPartitioner
- java.lang.Object
-
- io.github.nejckorasa.CollectionPartitioner
-
public final class CollectionPartitioner extends Object
Utils class used to partition collection based on key extractor
-
-
Constructor Summary
Constructors Constructor Description CollectionPartitioner()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <O> Map<Serializable,O>
buildPartition(Collection<O> collection, Function<O,Serializable> keyExtractor)
Builds partition of collection using keyExtractor.static <O> boolean
canPartition(Collection<O> collection, Function<O,Serializable> keyExtractor)
Checks if collection can be partitioned using key extracted using provided keyExtractor
-
-
-
Method Detail
-
canPartition
public static <O> boolean canPartition(Collection<O> collection, Function<O,Serializable> keyExtractor)
Checks if collection can be partitioned using key extracted using provided keyExtractor- Type Parameters:
O
- objects generic type- Parameters:
collection
- collection to partitionkeyExtractor
- key extractor used to extract keys from items in collection- Returns:
- true if collection can be partitioned
-
buildPartition
public static <O> Map<Serializable,O> buildPartition(Collection<O> collection, Function<O,Serializable> keyExtractor)
Builds partition of collection using keyExtractor.Partitioning is successful if all keys extracted from items in collection are unique and nonnull. If more than one item has the same key, only the first item will exist in result partition.
Use
canPartition(Collection, Function)
to check if collection can be partitioned.- Type Parameters:
O
- objects generic type- Parameters:
collection
- collection to partitionkeyExtractor
- key extractor used to extract keys from items in collection- Returns:
- map with collection items as values and it's keys as keys
-
-