T
- list element typepublic class FunctionBasedListPartitioner<T> extends java.lang.Object implements ListPartitioner<T>
Constructor and Description |
---|
FunctionBasedListPartitioner(java.util.function.Function<T,java.util.Optional<java.lang.Integer>> positionFunction,
java.util.function.BiFunction<java.util.List<java.util.List<T>>,java.util.List<T>,java.util.List<java.util.List<T>>> notFoundFunction)
Creates new.
|
Modifier and Type | Method and Description |
---|---|
protected java.util.List<T> |
addUsingPositionFunction(java.util.List<T> source,
java.util.List<java.util.List<T>> result) |
protected java.util.List<java.util.List<T>> |
combinePlacedAndNotFound(java.util.List<java.util.List<T>> partitions,
java.util.List<java.util.List<T>> extraItems) |
java.util.List<java.util.List<T>> |
split(java.util.List<T> source,
int partitionCount)
Splits source.
|
public FunctionBasedListPartitioner(java.util.function.Function<T,java.util.Optional<java.lang.Integer>> positionFunction, java.util.function.BiFunction<java.util.List<java.util.List<T>>,java.util.List<T>,java.util.List<java.util.List<T>>> notFoundFunction)
positionFunction
- indicates sublist index for an element if it can be determined on its ownnotFoundFunction
- partitions the elements for which the positionFunction did not give an index,
it gets the partitions created based on the positionFunctions and the elements
not yet placed in a partition.public java.util.List<java.util.List<T>> split(java.util.List<T> source, int partitionCount)
ListPartitioner
split
in interface ListPartitioner<T>
source
- list to split.partitionCount
- number of partitions to create.protected java.util.List<T> addUsingPositionFunction(java.util.List<T> source, java.util.List<java.util.List<T>> result)