Class ConstraintCollectors
- java.lang.Object
-
- org.optaplanner.core.api.score.stream.ConstraintCollectors
-
public final class ConstraintCollectors extends Object
Creates anUniConstraintCollector
,BiConstraintCollector
, ... instance for use inUniConstraintStream.groupBy(Function, UniConstraintCollector)
, ...
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <A> UniConstraintCollector<A,?,Integer>
count()
static <A,B>
BiConstraintCollector<A,B,?,Integer>countBi()
static <A> UniConstraintCollector<A,?,Integer>
countDistinct()
static <A,B>
BiConstraintCollector<A,B,?,Integer>countDistinct(BiFunction<A,B,?> groupValueMapping)
static <A> UniConstraintCollector<A,?,Integer>
countDistinct(Function<A,?> groupValueMapping)
static <A,B,C,D>
QuadConstraintCollector<A,B,C,D,?,Integer>countDistinct(QuadFunction<A,B,C,D,?> groupValueMapping)
static <A,B,C>
TriConstraintCollector<A,B,C,?,Integer>countDistinct(TriFunction<A,B,C,?> groupValueMapping)
static <A,B>
BiConstraintCollector<A,B,?,Long>countDistinctLong(BiFunction<A,B,?> groupValueMapping)
static <A> UniConstraintCollector<A,?,Long>
countDistinctLong(Function<A,?> groupValueMapping)
static <A,B,C,D>
QuadConstraintCollector<A,B,C,D,?,Long>countDistinctLong(QuadFunction<A,B,C,D,?> groupValueMapping)
static <A,B,C>
TriConstraintCollector<A,B,C,?,Long>countDistinctLong(TriFunction<A,B,C,?> groupValueMapping)
static <A> UniConstraintCollector<A,?,Long>
countLong()
static <A,B>
BiConstraintCollector<A,B,?,Long>countLongBi()
static <A,B,C,D>
QuadConstraintCollector<A,B,C,D,?,Long>countLongQuad()
static <A,B,C>
TriConstraintCollector<A,B,C,?,Long>countLongTri()
static <A,B,C,D>
QuadConstraintCollector<A,B,C,D,?,Integer>countQuad()
static <A,B,C>
TriConstraintCollector<A,B,C,?,Integer>countTri()
static <A extends Comparable<A>>
UniConstraintCollector<A,?,A>max()
Returns a collector that finds a maximum value in a group ofComparable
elements.static <A> UniConstraintCollector<A,?,A>
max(Comparator<A> comparator)
As defined bymax()
, only with a customComparator
.static <A,B,Mapped extends Comparable<Mapped>>
BiConstraintCollector<A,B,?,Mapped>max(BiFunction<A,B,Mapped> groupValueMapping)
As defined bymax(Function)
.static <A,B,Mapped>
BiConstraintCollector<A,B,?,Mapped>max(BiFunction<A,B,Mapped> groupValueMapping, Comparator<Mapped> comparator)
As defined bymax(Function)
, only with a customComparator
.static <A,Mapped extends Comparable<Mapped>>
UniConstraintCollector<A,?,Mapped>max(Function<A,Mapped> groupValueMapping)
Returns a collector that finds a maximum value in a group ofComparable
elements.static <A,Mapped>
UniConstraintCollector<A,?,Mapped>max(Function<A,Mapped> groupValueMapping, Comparator<Mapped> comparator)
As defined bymax(Function)
, only with a customComparator
.static <A,B,C,D,Mapped extends Comparable<Mapped>>
QuadConstraintCollector<A,B,C,D,?,Mapped>max(QuadFunction<A,B,C,D,Mapped> groupValueMapping)
As defined bymax(Function)
.static <A,B,C,D,Mapped>
QuadConstraintCollector<A,B,C,D,?,Mapped>max(QuadFunction<A,B,C,D,Mapped> groupValueMapping, Comparator<Mapped> comparator)
As defined bymax(Function)
, only with a customComparator
.static <A,B,C,Mapped extends Comparable<Mapped>>
TriConstraintCollector<A,B,C,?,Mapped>max(TriFunction<A,B,C,Mapped> groupValueMapping)
As defined bymax(Function)
.static <A,B,C,Mapped>
TriConstraintCollector<A,B,C,?,Mapped>max(TriFunction<A,B,C,Mapped> groupValueMapping, Comparator<Mapped> comparator)
As defined bymax(Function)
, only with a customComparator
.static <A extends Comparable<A>>
UniConstraintCollector<A,?,A>min()
Returns a collector that finds a minimum value in a group ofComparable
elements.static <A> UniConstraintCollector<A,?,A>
min(Comparator<A> comparator)
As defined bymin()
, only with a customComparator
.static <A,B,Mapped extends Comparable<Mapped>>
BiConstraintCollector<A,B,?,Mapped>min(BiFunction<A,B,Mapped> groupValueMapping)
As defined bymin(Function)
.static <A,B,Mapped>
BiConstraintCollector<A,B,?,Mapped>min(BiFunction<A,B,Mapped> groupValueMapping, Comparator<Mapped> comparator)
As defined bymin(Function)
, only with a customComparator
.static <A,Mapped extends Comparable<Mapped>>
UniConstraintCollector<A,?,Mapped>min(Function<A,Mapped> groupValueMapping)
Returns a collector that finds a minimum value in a group ofComparable
elements.static <A,Mapped>
UniConstraintCollector<A,?,Mapped>min(Function<A,Mapped> groupValueMapping, Comparator<Mapped> comparator)
As defined bymin(Function)
, only with a customComparator
.static <A,B,C,D,Mapped extends Comparable<Mapped>>
QuadConstraintCollector<A,B,C,D,?,Mapped>min(QuadFunction<A,B,C,D,Mapped> groupValueMapping)
As defined bymin(Function)
.static <A,B,C,D,Mapped>
QuadConstraintCollector<A,B,C,D,?,Mapped>min(QuadFunction<A,B,C,D,Mapped> groupValueMapping, Comparator<Mapped> comparator)
As defined bymin(Function)
, only with a customComparator
.static <A,B,C,Mapped extends Comparable<Mapped>>
TriConstraintCollector<A,B,C,?,Mapped>min(TriFunction<A,B,C,Mapped> groupValueMapping)
As defined bymin(Function)
.static <A,B,C,Mapped>
TriConstraintCollector<A,B,C,?,Mapped>min(TriFunction<A,B,C,Mapped> groupValueMapping, Comparator<Mapped> comparator)
As defined bymin(Function)
, only with a customComparator
.static <A,B,Result>
BiConstraintCollector<A,B,?,Result>sum(BiFunction<? super A,? super B,Result> groupValueMapping, Result zero, BinaryOperator<Result> adder, BinaryOperator<Result> subtractor)
static <A,Result>
UniConstraintCollector<A,?,Result>sum(Function<? super A,Result> groupValueMapping, Result zero, BinaryOperator<Result> adder, BinaryOperator<Result> subtractor)
static <A,B>
BiConstraintCollector<A,B,?,Integer>sum(ToIntBiFunction<? super A,? super B> groupValueMapping)
static <A> UniConstraintCollector<A,?,Integer>
sum(ToIntFunction<? super A> groupValueMapping)
static <A,B,C,D,Result>
QuadConstraintCollector<A,B,C,D,?,Result>sum(QuadFunction<? super A,? super B,? super C,? super D,Result> groupValueMapping, Result zero, BinaryOperator<Result> adder, BinaryOperator<Result> subtractor)
static <A,B,C,D>
QuadConstraintCollector<A,B,C,D,?,Integer>sum(ToIntQuadFunction<? super A,? super B,? super C,? super D> groupValueMapping)
static <A,B,C>
TriConstraintCollector<A,B,C,?,Integer>sum(ToIntTriFunction<? super A,? super B,? super C> groupValueMapping)
static <A,B,C,Result>
TriConstraintCollector<A,B,C,?,Result>sum(TriFunction<? super A,? super B,? super C,Result> groupValueMapping, Result zero, BinaryOperator<Result> adder, BinaryOperator<Result> subtractor)
static <A,B>
BiConstraintCollector<A,B,?,BigDecimal>sumBigDecimal(BiFunction<? super A,? super B,BigDecimal> groupValueMapping)
static <A> UniConstraintCollector<A,?,BigDecimal>
sumBigDecimal(Function<? super A,BigDecimal> groupValueMapping)
static <A,B,C,D>
QuadConstraintCollector<A,B,C,D,?,BigDecimal>sumBigDecimal(QuadFunction<? super A,? super B,? super C,? super D,BigDecimal> groupValueMapping)
static <A,B,C>
TriConstraintCollector<A,B,C,?,BigDecimal>sumBigDecimal(TriFunction<? super A,? super B,? super C,BigDecimal> groupValueMapping)
static <A,B>
BiConstraintCollector<A,B,?,BigInteger>sumBigInteger(BiFunction<? super A,? super B,BigInteger> groupValueMapping)
static <A> UniConstraintCollector<A,?,BigInteger>
sumBigInteger(Function<? super A,BigInteger> groupValueMapping)
static <A,B,C,D>
QuadConstraintCollector<A,B,C,D,?,BigInteger>sumBigInteger(QuadFunction<? super A,? super B,? super C,? super D,BigInteger> groupValueMapping)
static <A,B,C>
TriConstraintCollector<A,B,C,?,BigInteger>sumBigInteger(TriFunction<? super A,? super B,? super C,BigInteger> groupValueMapping)
static <A,B>
BiConstraintCollector<A,B,?,Duration>sumDuration(BiFunction<? super A,? super B,Duration> groupValueMapping)
static <A> UniConstraintCollector<A,?,Duration>
sumDuration(Function<? super A,Duration> groupValueMapping)
static <A,B,C,D>
QuadConstraintCollector<A,B,C,D,?,Duration>sumDuration(QuadFunction<? super A,? super B,? super C,? super D,Duration> groupValueMapping)
static <A,B,C>
TriConstraintCollector<A,B,C,?,Duration>sumDuration(TriFunction<? super A,? super B,? super C,Duration> groupValueMapping)
static <A,B>
BiConstraintCollector<A,B,?,Long>sumLong(ToLongBiFunction<? super A,? super B> groupValueMapping)
static <A> UniConstraintCollector<A,?,Long>
sumLong(ToLongFunction<? super A> groupValueMapping)
static <A,B,C,D>
QuadConstraintCollector<A,B,C,D,?,Long>sumLong(ToLongQuadFunction<? super A,? super B,? super C,? super D> groupValueMapping)
static <A,B,C>
TriConstraintCollector<A,B,C,?,Long>sumLong(ToLongTriFunction<? super A,? super B,? super C> groupValueMapping)
static <A,B>
BiConstraintCollector<A,B,?,Period>sumPeriod(BiFunction<? super A,? super B,Period> groupValueMapping)
static <A> UniConstraintCollector<A,?,Period>
sumPeriod(Function<? super A,Period> groupValueMapping)
static <A,B,C,D>
QuadConstraintCollector<A,B,C,D,?,Period>sumPeriod(QuadFunction<? super A,? super B,? super C,? super D,Period> groupValueMapping)
static <A,B,C>
TriConstraintCollector<A,B,C,?,Period>sumPeriod(TriFunction<? super A,? super B,? super C,Period> groupValueMapping)
static <A,B,Mapped,Result extends Collection<Mapped>>
BiConstraintCollector<A,B,?,Result>toCollection(BiFunction<A,B,Mapped> groupValueMapping, IntFunction<Result> collectionFunction)
static <A,Mapped,Result extends Collection<Mapped>>
UniConstraintCollector<A,?,Result>toCollection(Function<A,Mapped> groupValueMapping, IntFunction<Result> collectionFunction)
static <A,Result extends Collection<A>>
UniConstraintCollector<A,?,Result>toCollection(IntFunction<Result> collectionFunction)
static <A,B,C,D,Mapped,Result extends Collection<Mapped>>
QuadConstraintCollector<A,B,C,D,?,Result>toCollection(QuadFunction<A,B,C,D,Mapped> groupValueMapping, IntFunction<Result> collectionFunction)
static <A,B,C,Mapped,Result extends Collection<Mapped>>
TriConstraintCollector<A,B,C,?,Result>toCollection(TriFunction<A,B,C,Mapped> groupValueMapping, IntFunction<Result> collectionFunction)
static <A> UniConstraintCollector<A,?,List<A>>
toList()
Creates constraint collector that returnsList
of the same element type as theConstraintStream
.static <A,B,Mapped>
BiConstraintCollector<A,B,?,List<Mapped>>toList(BiFunction<A,B,Mapped> groupValueMapping)
Creates constraint collector that returnsList
of the given element type.static <A,Mapped>
UniConstraintCollector<A,?,List<Mapped>>toList(Function<A,Mapped> groupValueMapping)
Creates constraint collector that returnsList
of the given element type.static <A,B,C,D,Mapped>
QuadConstraintCollector<A,B,C,D,?,List<Mapped>>toList(QuadFunction<A,B,C,D,Mapped> groupValueMapping)
Creates constraint collector that returnsList
of the given element type.static <A,B,C,Mapped>
TriConstraintCollector<A,B,C,?,List<Mapped>>toList(TriFunction<A,B,C,Mapped> groupValueMapping)
Creates constraint collector that returnsList
of the given element type.static <A,B,Key,Value>
BiConstraintCollector<A,B,?,Map<Key,Set<Value>>>toMap(BiFunction<? super A,? super B,? extends Key> keyMapper, BiFunction<? super A,? super B,? extends Value> valueMapper)
As defined bytoMap(Function, Function)
.static <A,B,Key,Value>
BiConstraintCollector<A,B,?,Map<Key,Value>>toMap(BiFunction<? super A,? super B,? extends Key> keyMapper, BiFunction<? super A,? super B,? extends Value> valueMapper, BinaryOperator<Value> mergeFunction)
As defined bytoMap(Function, Function, BinaryOperator)
.static <A,B,Key,Value,ValueSet extends Set<Value>>
BiConstraintCollector<A,B,?,Map<Key,ValueSet>>toMap(BiFunction<? super A,? super B,? extends Key> keyMapper, BiFunction<? super A,? super B,? extends Value> valueMapper, IntFunction<ValueSet> valueSetFunction)
As defined bytoMap(Function, Function, IntFunction)
.static <A,Key,Value>
UniConstraintCollector<A,?,Map<Key,Set<Value>>>toMap(Function<? super A,? extends Key> keyMapper, Function<? super A,? extends Value> valueMapper)
static <A,Key,Value>
UniConstraintCollector<A,?,Map<Key,Value>>toMap(Function<? super A,? extends Key> keyMapper, Function<? super A,? extends Value> valueMapper, BinaryOperator<Value> mergeFunction)
Creates a constraint collector that returns aMap
.static <A,Key,Value,ValueSet extends Set<Value>>
UniConstraintCollector<A,?,Map<Key,ValueSet>>toMap(Function<? super A,? extends Key> keyMapper, Function<? super A,? extends Value> valueMapper, IntFunction<ValueSet> valueSetFunction)
static <A,B,C,D,Key,Value>
QuadConstraintCollector<A,B,C,D,?,Map<Key,Set<Value>>>toMap(QuadFunction<? super A,? super B,? super C,? super D,? extends Key> keyMapper, QuadFunction<? super A,? super B,? super C,? super D,? extends Value> valueMapper)
As defined bytoMap(Function, Function)
.static <A,B,C,D,Key,Value>
QuadConstraintCollector<A,B,C,D,?,Map<Key,Value>>toMap(QuadFunction<? super A,? super B,? super C,? super D,? extends Key> keyMapper, QuadFunction<? super A,? super B,? super C,? super D,? extends Value> valueMapper, BinaryOperator<Value> mergeFunction)
As defined bytoMap(Function, Function, BinaryOperator)
.static <A,B,C,D,Key,Value,ValueSet extends Set<Value>>
QuadConstraintCollector<A,B,C,D,?,Map<Key,ValueSet>>toMap(QuadFunction<? super A,? super B,? super C,? super D,? extends Key> keyMapper, QuadFunction<? super A,? super B,? super C,? super D,? extends Value> valueMapper, IntFunction<ValueSet> valueSetFunction)
As defined bytoMap(Function, Function, IntFunction)
.static <A,B,C,Key,Value>
TriConstraintCollector<A,B,C,?,Map<Key,Set<Value>>>toMap(TriFunction<? super A,? super B,? super C,? extends Key> keyMapper, TriFunction<? super A,? super B,? super C,? extends Value> valueMapper)
As defined bytoMap(Function, Function)
.static <A,B,C,Key,Value>
TriConstraintCollector<A,B,C,?,Map<Key,Value>>toMap(TriFunction<? super A,? super B,? super C,? extends Key> keyMapper, TriFunction<? super A,? super B,? super C,? extends Value> valueMapper, BinaryOperator<Value> mergeFunction)
As defined bytoMap(Function, Function, BinaryOperator)
.static <A,B,C,Key,Value,ValueSet extends Set<Value>>
TriConstraintCollector<A,B,C,?,Map<Key,ValueSet>>toMap(TriFunction<? super A,? super B,? super C,? extends Key> keyMapper, TriFunction<? super A,? super B,? super C,? extends Value> valueMapper, IntFunction<ValueSet> valueSetFunction)
As defined bytoMap(Function, Function, IntFunction)
.static <A> UniConstraintCollector<A,?,Set<A>>
toSet()
Creates constraint collector that returnsSet
of the same element type as theConstraintStream
.static <A,B,Mapped>
BiConstraintCollector<A,B,?,Set<Mapped>>toSet(BiFunction<A,B,Mapped> groupValueMapping)
As defined bytoSet(Function)
.static <A,Mapped>
UniConstraintCollector<A,?,Set<Mapped>>toSet(Function<A,Mapped> groupValueMapping)
Creates constraint collector that returnsSet
of the same element type as theConstraintStream
.static <A,B,C,D,Mapped>
QuadConstraintCollector<A,B,C,D,?,Set<Mapped>>toSet(QuadFunction<A,B,C,D,Mapped> groupValueMapping)
As defined bytoSet(Function)
.static <A,B,C,Mapped>
TriConstraintCollector<A,B,C,?,Set<Mapped>>toSet(TriFunction<A,B,C,Mapped> groupValueMapping)
As defined bytoSet(Function)
.static <A,B,Key extends Comparable<Key>,Value>
BiConstraintCollector<A,B,?,SortedMap<Key,Set<Value>>>toSortedMap(BiFunction<? super A,? super B,? extends Key> keyMapper, BiFunction<? super A,? super B,? extends Value> valueMapper)
As defined bytoSortedMap(Function, Function)
.static <A,B,Key extends Comparable<Key>,Value>
BiConstraintCollector<A,B,?,SortedMap<Key,Value>>toSortedMap(BiFunction<? super A,? super B,? extends Key> keyMapper, BiFunction<? super A,? super B,? extends Value> valueMapper, BinaryOperator<Value> mergeFunction)
As defined bytoSortedMap(Function, Function, BinaryOperator)
.static <A,B,Key extends Comparable<Key>,Value,ValueSet extends Set<Value>>
BiConstraintCollector<A,B,?,SortedMap<Key,ValueSet>>toSortedMap(BiFunction<? super A,? super B,? extends Key> keyMapper, BiFunction<? super A,? super B,? extends Value> valueMapper, IntFunction<ValueSet> valueSetFunction)
As defined bytoSortedMap(Function, Function, IntFunction)
.static <A,Key extends Comparable<Key>,Value>
UniConstraintCollector<A,?,SortedMap<Key,Set<Value>>>toSortedMap(Function<? super A,? extends Key> keyMapper, Function<? super A,? extends Value> valueMapper)
static <A,Key extends Comparable<Key>,Value>
UniConstraintCollector<A,?,SortedMap<Key,Value>>toSortedMap(Function<? super A,? extends Key> keyMapper, Function<? super A,? extends Value> valueMapper, BinaryOperator<Value> mergeFunction)
Creates a constraint collector that returns aSortedMap
.static <A,Key extends Comparable<Key>,Value,ValueSet extends Set<Value>>
UniConstraintCollector<A,?,SortedMap<Key,ValueSet>>toSortedMap(Function<? super A,? extends Key> keyMapper, Function<? super A,? extends Value> valueMapper, IntFunction<ValueSet> valueSetFunction)
static <A,B,C,D,Key extends Comparable<Key>,Value>
QuadConstraintCollector<A,B,C,D,?,SortedMap<Key,Set<Value>>>toSortedMap(QuadFunction<? super A,? super B,? super C,? super D,? extends Key> keyMapper, QuadFunction<? super A,? super B,? super C,? super D,? extends Value> valueMapper)
As defined bytoSortedMap(Function, Function)
.static <A,B,C,D,Key extends Comparable<Key>,Value>
QuadConstraintCollector<A,B,C,D,?,SortedMap<Key,Value>>toSortedMap(QuadFunction<? super A,? super B,? super C,? super D,? extends Key> keyMapper, QuadFunction<? super A,? super B,? super C,? super D,? extends Value> valueMapper, BinaryOperator<Value> mergeFunction)
As defined bytoSortedMap(Function, Function, BinaryOperator)
.static <A,B,C,D,Key extends Comparable<Key>,Value,ValueSet extends Set<Value>>
QuadConstraintCollector<A,B,C,D,?,SortedMap<Key,ValueSet>>toSortedMap(QuadFunction<? super A,? super B,? super C,? super D,? extends Key> keyMapper, QuadFunction<? super A,? super B,? super C,? super D,? extends Value> valueMapper, IntFunction<ValueSet> valueSetFunction)
As defined bytoSortedMap(Function, Function, IntFunction)
.static <A,B,C,Key extends Comparable<Key>,Value>
TriConstraintCollector<A,B,C,?,SortedMap<Key,Set<Value>>>toSortedMap(TriFunction<? super A,? super B,? super C,? extends Key> keyMapper, TriFunction<? super A,? super B,? super C,? extends Value> valueMapper)
As defined bytoSortedMap(Function, Function)
.static <A,B,C,Key extends Comparable<Key>,Value>
TriConstraintCollector<A,B,C,?,SortedMap<Key,Value>>toSortedMap(TriFunction<? super A,? super B,? super C,? extends Key> keyMapper, TriFunction<? super A,? super B,? super C,? extends Value> valueMapper, BinaryOperator<Value> mergeFunction)
As defined bytoSortedMap(Function, Function, BinaryOperator)
.static <A,B,C,Key extends Comparable<Key>,Value,ValueSet extends Set<Value>>
TriConstraintCollector<A,B,C,?,SortedMap<Key,ValueSet>>toSortedMap(TriFunction<? super A,? super B,? super C,? extends Key> keyMapper, TriFunction<? super A,? super B,? super C,? extends Value> valueMapper, IntFunction<ValueSet> valueSetFunction)
As defined bytoSortedMap(Function, Function, IntFunction)
.static <A extends Comparable<A>>
UniConstraintCollector<A,?,SortedSet<A>>toSortedSet()
Creates constraint collector that returnsSortedSet
of the same element type as theConstraintStream
.static <A,B,Mapped extends Comparable<Mapped>>
BiConstraintCollector<A,B,?,SortedSet<Mapped>>toSortedSet(BiFunction<A,B,Mapped> groupValueMapping)
As defined bytoSortedSet(Function)
.static <A,Mapped extends Comparable<Mapped>>
UniConstraintCollector<A,?,SortedSet<Mapped>>toSortedSet(Function<A,Mapped> groupValueMapping)
Creates constraint collector that returnsSortedSet
of the same element type as theConstraintStream
.static <A,B,C,D,Mapped extends Comparable<Mapped>>
QuadConstraintCollector<A,B,C,D,?,SortedSet<Mapped>>toSortedSet(QuadFunction<A,B,C,D,Mapped> groupValueMapping)
As defined bytoSortedSet(Function)
.static <A,B,C,Mapped extends Comparable<Mapped>>
TriConstraintCollector<A,B,C,?,SortedSet<Mapped>>toSortedSet(TriFunction<A,B,C,Mapped> groupValueMapping)
As defined bytoSortedSet(Function)
.
-
-
-
Method Detail
-
count
public static <A> UniConstraintCollector<A,?,Integer> count()
-
countLong
public static <A> UniConstraintCollector<A,?,Long> countLong()
-
countBi
public static <A,B> BiConstraintCollector<A,B,?,Integer> countBi()
-
countLongBi
public static <A,B> BiConstraintCollector<A,B,?,Long> countLongBi()
-
countTri
public static <A,B,C> TriConstraintCollector<A,B,C,?,Integer> countTri()
-
countLongTri
public static <A,B,C> TriConstraintCollector<A,B,C,?,Long> countLongTri()
-
countQuad
public static <A,B,C,D> QuadConstraintCollector<A,B,C,D,?,Integer> countQuad()
-
countLongQuad
public static <A,B,C,D> QuadConstraintCollector<A,B,C,D,?,Long> countLongQuad()
-
countDistinct
public static <A> UniConstraintCollector<A,?,Integer> countDistinct()
-
countDistinct
public static <A> UniConstraintCollector<A,?,Integer> countDistinct(Function<A,?> groupValueMapping)
-
countDistinctLong
public static <A> UniConstraintCollector<A,?,Long> countDistinctLong(Function<A,?> groupValueMapping)
-
countDistinct
public static <A,B> BiConstraintCollector<A,B,?,Integer> countDistinct(BiFunction<A,B,?> groupValueMapping)
-
countDistinctLong
public static <A,B> BiConstraintCollector<A,B,?,Long> countDistinctLong(BiFunction<A,B,?> groupValueMapping)
-
countDistinct
public static <A,B,C> TriConstraintCollector<A,B,C,?,Integer> countDistinct(TriFunction<A,B,C,?> groupValueMapping)
-
countDistinctLong
public static <A,B,C> TriConstraintCollector<A,B,C,?,Long> countDistinctLong(TriFunction<A,B,C,?> groupValueMapping)
-
countDistinct
public static <A,B,C,D> QuadConstraintCollector<A,B,C,D,?,Integer> countDistinct(QuadFunction<A,B,C,D,?> groupValueMapping)
-
countDistinctLong
public static <A,B,C,D> QuadConstraintCollector<A,B,C,D,?,Long> countDistinctLong(QuadFunction<A,B,C,D,?> groupValueMapping)
-
sum
public static <A> UniConstraintCollector<A,?,Integer> sum(ToIntFunction<? super A> groupValueMapping)
-
sumLong
public static <A> UniConstraintCollector<A,?,Long> sumLong(ToLongFunction<? super A> groupValueMapping)
-
sum
public static <A,Result> UniConstraintCollector<A,?,Result> sum(Function<? super A,Result> groupValueMapping, Result zero, BinaryOperator<Result> adder, BinaryOperator<Result> subtractor)
-
sumBigDecimal
public static <A> UniConstraintCollector<A,?,BigDecimal> sumBigDecimal(Function<? super A,BigDecimal> groupValueMapping)
-
sumBigInteger
public static <A> UniConstraintCollector<A,?,BigInteger> sumBigInteger(Function<? super A,BigInteger> groupValueMapping)
-
sumDuration
public static <A> UniConstraintCollector<A,?,Duration> sumDuration(Function<? super A,Duration> groupValueMapping)
-
sumPeriod
public static <A> UniConstraintCollector<A,?,Period> sumPeriod(Function<? super A,Period> groupValueMapping)
-
sum
public static <A,B> BiConstraintCollector<A,B,?,Integer> sum(ToIntBiFunction<? super A,? super B> groupValueMapping)
-
sumLong
public static <A,B> BiConstraintCollector<A,B,?,Long> sumLong(ToLongBiFunction<? super A,? super B> groupValueMapping)
-
sum
public static <A,B,Result> BiConstraintCollector<A,B,?,Result> sum(BiFunction<? super A,? super B,Result> groupValueMapping, Result zero, BinaryOperator<Result> adder, BinaryOperator<Result> subtractor)
-
sumBigDecimal
public static <A,B> BiConstraintCollector<A,B,?,BigDecimal> sumBigDecimal(BiFunction<? super A,? super B,BigDecimal> groupValueMapping)
-
sumBigInteger
public static <A,B> BiConstraintCollector<A,B,?,BigInteger> sumBigInteger(BiFunction<? super A,? super B,BigInteger> groupValueMapping)
-
sumDuration
public static <A,B> BiConstraintCollector<A,B,?,Duration> sumDuration(BiFunction<? super A,? super B,Duration> groupValueMapping)
-
sumPeriod
public static <A,B> BiConstraintCollector<A,B,?,Period> sumPeriod(BiFunction<? super A,? super B,Period> groupValueMapping)
-
sum
public static <A,B,C> TriConstraintCollector<A,B,C,?,Integer> sum(ToIntTriFunction<? super A,? super B,? super C> groupValueMapping)
-
sumLong
public static <A,B,C> TriConstraintCollector<A,B,C,?,Long> sumLong(ToLongTriFunction<? super A,? super B,? super C> groupValueMapping)
-
sum
public static <A,B,C,Result> TriConstraintCollector<A,B,C,?,Result> sum(TriFunction<? super A,? super B,? super C,Result> groupValueMapping, Result zero, BinaryOperator<Result> adder, BinaryOperator<Result> subtractor)
-
sumBigDecimal
public static <A,B,C> TriConstraintCollector<A,B,C,?,BigDecimal> sumBigDecimal(TriFunction<? super A,? super B,? super C,BigDecimal> groupValueMapping)
-
sumBigInteger
public static <A,B,C> TriConstraintCollector<A,B,C,?,BigInteger> sumBigInteger(TriFunction<? super A,? super B,? super C,BigInteger> groupValueMapping)
-
sumDuration
public static <A,B,C> TriConstraintCollector<A,B,C,?,Duration> sumDuration(TriFunction<? super A,? super B,? super C,Duration> groupValueMapping)
-
sumPeriod
public static <A,B,C> TriConstraintCollector<A,B,C,?,Period> sumPeriod(TriFunction<? super A,? super B,? super C,Period> groupValueMapping)
-
sum
public static <A,B,C,D> QuadConstraintCollector<A,B,C,D,?,Integer> sum(ToIntQuadFunction<? super A,? super B,? super C,? super D> groupValueMapping)
-
sumLong
public static <A,B,C,D> QuadConstraintCollector<A,B,C,D,?,Long> sumLong(ToLongQuadFunction<? super A,? super B,? super C,? super D> groupValueMapping)
-
sum
public static <A,B,C,D,Result> QuadConstraintCollector<A,B,C,D,?,Result> sum(QuadFunction<? super A,? super B,? super C,? super D,Result> groupValueMapping, Result zero, BinaryOperator<Result> adder, BinaryOperator<Result> subtractor)
-
sumBigDecimal
public static <A,B,C,D> QuadConstraintCollector<A,B,C,D,?,BigDecimal> sumBigDecimal(QuadFunction<? super A,? super B,? super C,? super D,BigDecimal> groupValueMapping)
-
sumBigInteger
public static <A,B,C,D> QuadConstraintCollector<A,B,C,D,?,BigInteger> sumBigInteger(QuadFunction<? super A,? super B,? super C,? super D,BigInteger> groupValueMapping)
-
sumDuration
public static <A,B,C,D> QuadConstraintCollector<A,B,C,D,?,Duration> sumDuration(QuadFunction<? super A,? super B,? super C,? super D,Duration> groupValueMapping)
-
sumPeriod
public static <A,B,C,D> QuadConstraintCollector<A,B,C,D,?,Period> sumPeriod(QuadFunction<? super A,? super B,? super C,? super D,Period> groupValueMapping)
-
min
public static <A extends Comparable<A>> UniConstraintCollector<A,?,A> min()
Returns a collector that finds a minimum value in a group ofComparable
elements.Important: The
Comparable
'sComparable.compareTo(Object)
must be consistent with equals, such that e1.compareTo(e2) == 0 has the same boolean value as e1.equals(e2). In other words, if two elements compare to zero, any of them can be returned by the collector. It can even differ between 2 score calculations on the exact samePlanningSolution
state, due to incremental score calculation.For example,
[Ann(age = 20), Beth(age = 25), Cathy(age = 30), David(age = 30), Eric(age = 20)]
with.groupBy(min())
returns eitherAnn
orEric
arbitrarily, assuming the objects areComparable
by theage
field. To avoid this, always end yourComparator
by an identity comparison, such asComparator.comparing(Person::getAge).comparing(Person::getId))
.- Type Parameters:
A
- type of the matched fact- Returns:
- never null
-
min
public static <A,Mapped extends Comparable<Mapped>> UniConstraintCollector<A,?,Mapped> min(Function<A,Mapped> groupValueMapping)
Returns a collector that finds a minimum value in a group ofComparable
elements.Important: The
Comparable
'sComparable.compareTo(Object)
must be consistent with equals, such that e1.compareTo(e2) == 0 has the same boolean value as e1.equals(e2). In other words, if two elements compare to zero, any of them can be returned by the collector. It can even differ between 2 score calculations on the exact samePlanningSolution
state, due to incremental score calculation.For example,
[Ann(age = 20), Beth(age = 25), Cathy(age = 30), David(age = 30), Eric(age = 20)]
with.groupBy(min(Person::getAge))
returns20
.- Type Parameters:
A
- type of the matched factMapped
- type of the result- Parameters:
groupValueMapping
- never null, maps facts from the matched type to the result type- Returns:
- never null
-
min
public static <A> UniConstraintCollector<A,?,A> min(Comparator<A> comparator)
As defined bymin()
, only with a customComparator
.
-
min
public static <A,Mapped> UniConstraintCollector<A,?,Mapped> min(Function<A,Mapped> groupValueMapping, Comparator<Mapped> comparator)
As defined bymin(Function)
, only with a customComparator
.
-
min
public static <A,B,Mapped extends Comparable<Mapped>> BiConstraintCollector<A,B,?,Mapped> min(BiFunction<A,B,Mapped> groupValueMapping)
As defined bymin(Function)
.
-
min
public static <A,B,Mapped> BiConstraintCollector<A,B,?,Mapped> min(BiFunction<A,B,Mapped> groupValueMapping, Comparator<Mapped> comparator)
As defined bymin(Function)
, only with a customComparator
.
-
min
public static <A,B,C,Mapped extends Comparable<Mapped>> TriConstraintCollector<A,B,C,?,Mapped> min(TriFunction<A,B,C,Mapped> groupValueMapping)
As defined bymin(Function)
.
-
min
public static <A,B,C,Mapped> TriConstraintCollector<A,B,C,?,Mapped> min(TriFunction<A,B,C,Mapped> groupValueMapping, Comparator<Mapped> comparator)
As defined bymin(Function)
, only with a customComparator
.
-
min
public static <A,B,C,D,Mapped extends Comparable<Mapped>> QuadConstraintCollector<A,B,C,D,?,Mapped> min(QuadFunction<A,B,C,D,Mapped> groupValueMapping)
As defined bymin(Function)
.
-
min
public static <A,B,C,D,Mapped> QuadConstraintCollector<A,B,C,D,?,Mapped> min(QuadFunction<A,B,C,D,Mapped> groupValueMapping, Comparator<Mapped> comparator)
As defined bymin(Function)
, only with a customComparator
.
-
max
public static <A extends Comparable<A>> UniConstraintCollector<A,?,A> max()
Returns a collector that finds a maximum value in a group ofComparable
elements.Important: The
Comparable
'sComparable.compareTo(Object)
must be consistent with equals, such that e1.compareTo(e2) == 0 has the same boolean value as e1.equals(e2). In other words, if two elements compare to zero, any of them can be returned by the collector. It can even differ between 2 score calculations on the exact samePlanningSolution
state, due to incremental score calculation.For example,
[Ann(age = 20), Beth(age = 25), Cathy(age = 30), David(age = 30), Eric(age = 20)]
with.groupBy(max())
returns eitherCathy
orDavid
arbitrarily, assuming the objects areComparable
by theage
field. To avoid this, always end yourComparator
by an identity comparison, such asComparator.comparing(Person::getAge).comparing(Person::getId))
.- Type Parameters:
A
- type of the matched fact- Returns:
- never null
-
max
public static <A,Mapped extends Comparable<Mapped>> UniConstraintCollector<A,?,Mapped> max(Function<A,Mapped> groupValueMapping)
Returns a collector that finds a maximum value in a group ofComparable
elements.Important: The
Comparable
'sComparable.compareTo(Object)
must be consistent with equals, such that e1.compareTo(e2) == 0 has the same boolean value as e1.equals(e2). In other words, if two elements compare to zero, any of them can be returned by the collector. It can even differ between 2 score calculations on the exact samePlanningSolution
state, due to incremental score calculation.For example,
[Ann(age = 20), Beth(age = 25), Cathy(age = 30), David(age = 30), Eric(age = 20)]
with.groupBy(max(Person::getAge))
returns30
.- Type Parameters:
A
- type of the matched factMapped
- type of the result- Parameters:
groupValueMapping
- never null, maps facts from the matched type to the result type- Returns:
- never null
-
max
public static <A> UniConstraintCollector<A,?,A> max(Comparator<A> comparator)
As defined bymax()
, only with a customComparator
.
-
max
public static <A,Mapped> UniConstraintCollector<A,?,Mapped> max(Function<A,Mapped> groupValueMapping, Comparator<Mapped> comparator)
As defined bymax(Function)
, only with a customComparator
.
-
max
public static <A,B,Mapped extends Comparable<Mapped>> BiConstraintCollector<A,B,?,Mapped> max(BiFunction<A,B,Mapped> groupValueMapping)
As defined bymax(Function)
.
-
max
public static <A,B,Mapped> BiConstraintCollector<A,B,?,Mapped> max(BiFunction<A,B,Mapped> groupValueMapping, Comparator<Mapped> comparator)
As defined bymax(Function)
, only with a customComparator
.
-
max
public static <A,B,C,Mapped extends Comparable<Mapped>> TriConstraintCollector<A,B,C,?,Mapped> max(TriFunction<A,B,C,Mapped> groupValueMapping)
As defined bymax(Function)
.
-
max
public static <A,B,C,Mapped> TriConstraintCollector<A,B,C,?,Mapped> max(TriFunction<A,B,C,Mapped> groupValueMapping, Comparator<Mapped> comparator)
As defined bymax(Function)
, only with a customComparator
.
-
max
public static <A,B,C,D,Mapped extends Comparable<Mapped>> QuadConstraintCollector<A,B,C,D,?,Mapped> max(QuadFunction<A,B,C,D,Mapped> groupValueMapping)
As defined bymax(Function)
.
-
max
public static <A,B,C,D,Mapped> QuadConstraintCollector<A,B,C,D,?,Mapped> max(QuadFunction<A,B,C,D,Mapped> groupValueMapping, Comparator<Mapped> comparator)
As defined bymax(Function)
, only with a customComparator
.
-
toCollection
public static <A,Result extends Collection<A>> UniConstraintCollector<A,?,Result> toCollection(IntFunction<Result> collectionFunction)
-
toSet
public static <A> UniConstraintCollector<A,?,Set<A>> toSet()
Creates constraint collector that returnsSet
of the same element type as theConstraintStream
. Makes no guarantees on iteration order. For stable iteration order, usetoSortedSet()
.- Type Parameters:
A
- type of the matched fact- Returns:
- never null
-
toSortedSet
public static <A extends Comparable<A>> UniConstraintCollector<A,?,SortedSet<A>> toSortedSet()
Creates constraint collector that returnsSortedSet
of the same element type as theConstraintStream
.- Type Parameters:
A
- type of the matched fact- Returns:
- never null
-
toList
public static <A> UniConstraintCollector<A,?,List<A>> toList()
Creates constraint collector that returnsList
of the same element type as theConstraintStream
. Makes no guarantees on iteration order. For stable iteration order, usetoSortedSet()
.- Type Parameters:
A
- type of the matched fact- Returns:
- never null
-
toCollection
public static <A,Mapped,Result extends Collection<Mapped>> UniConstraintCollector<A,?,Result> toCollection(Function<A,Mapped> groupValueMapping, IntFunction<Result> collectionFunction)
-
toSet
public static <A,Mapped> UniConstraintCollector<A,?,Set<Mapped>> toSet(Function<A,Mapped> groupValueMapping)
Creates constraint collector that returnsSet
of the same element type as theConstraintStream
. Makes no guarantees on iteration order. For stable iteration order, usetoSortedSet()
.- Type Parameters:
A
- type of the matched factMapped
- type of elements in the resulting set- Parameters:
groupValueMapping
- never null, converts matched facts to elements of the resulting set- Returns:
- never null
-
toSortedSet
public static <A,Mapped extends Comparable<Mapped>> UniConstraintCollector<A,?,SortedSet<Mapped>> toSortedSet(Function<A,Mapped> groupValueMapping)
Creates constraint collector that returnsSortedSet
of the same element type as theConstraintStream
.- Type Parameters:
A
- type of the matched factMapped
- type of elements in the resulting set- Parameters:
groupValueMapping
- never null, converts matched facts to elements of the resulting set- Returns:
- never null
-
toList
public static <A,Mapped> UniConstraintCollector<A,?,List<Mapped>> toList(Function<A,Mapped> groupValueMapping)
Creates constraint collector that returnsList
of the given element type. Makes no guarantees on iteration order. For stable iteration order, usetoSortedSet(Function)
.- Type Parameters:
A
- type of the matched factMapped
- type of elements in the resulting collection- Parameters:
groupValueMapping
- never null, converts matched facts to elements of the resulting collection- Returns:
- never null
-
toCollection
public static <A,B,Mapped,Result extends Collection<Mapped>> BiConstraintCollector<A,B,?,Result> toCollection(BiFunction<A,B,Mapped> groupValueMapping, IntFunction<Result> collectionFunction)
-
toSet
public static <A,B,Mapped> BiConstraintCollector<A,B,?,Set<Mapped>> toSet(BiFunction<A,B,Mapped> groupValueMapping)
As defined bytoSet(Function)
.- Type Parameters:
A
- type of the first matched factB
- type of the second matched factMapped
- type of elements in the resulting set- Parameters:
groupValueMapping
- never null, converts matched facts to elements of the resulting set- Returns:
- never null
-
toSortedSet
public static <A,B,Mapped extends Comparable<Mapped>> BiConstraintCollector<A,B,?,SortedSet<Mapped>> toSortedSet(BiFunction<A,B,Mapped> groupValueMapping)
As defined bytoSortedSet(Function)
.- Type Parameters:
A
- type of the first matched factB
- type of the second matched factMapped
- type of elements in the resulting set- Parameters:
groupValueMapping
- never null, converts matched facts to elements of the resulting set- Returns:
- never null
-
toList
public static <A,B,Mapped> BiConstraintCollector<A,B,?,List<Mapped>> toList(BiFunction<A,B,Mapped> groupValueMapping)
Creates constraint collector that returnsList
of the given element type. Makes no guarantees on iteration order. For stable iteration order, usetoSortedSet(BiFunction)
.- Type Parameters:
A
- type of the first matched factB
- type of the second matched factMapped
- type of elements in the resulting collection- Parameters:
groupValueMapping
- never null, converts matched facts to elements of the resulting collection- Returns:
- never null
-
toCollection
public static <A,B,C,Mapped,Result extends Collection<Mapped>> TriConstraintCollector<A,B,C,?,Result> toCollection(TriFunction<A,B,C,Mapped> groupValueMapping, IntFunction<Result> collectionFunction)
-
toSet
public static <A,B,C,Mapped> TriConstraintCollector<A,B,C,?,Set<Mapped>> toSet(TriFunction<A,B,C,Mapped> groupValueMapping)
As defined bytoSet(Function)
.- Type Parameters:
A
- type of the first matched factB
- type of the second matched factC
- type of the third matched factMapped
- type of elements in the resulting set- Parameters:
groupValueMapping
- never null, converts matched facts to elements of the resulting set- Returns:
- never null
-
toSortedSet
public static <A,B,C,Mapped extends Comparable<Mapped>> TriConstraintCollector<A,B,C,?,SortedSet<Mapped>> toSortedSet(TriFunction<A,B,C,Mapped> groupValueMapping)
As defined bytoSortedSet(Function)
.- Type Parameters:
A
- type of the first matched factB
- type of the second matched factC
- type of the third matched factMapped
- type of elements in the resulting set- Parameters:
groupValueMapping
- never null, converts matched facts to elements of the resulting set- Returns:
- never null
-
toList
public static <A,B,C,Mapped> TriConstraintCollector<A,B,C,?,List<Mapped>> toList(TriFunction<A,B,C,Mapped> groupValueMapping)
Creates constraint collector that returnsList
of the given element type. Makes no guarantees on iteration order. For stable iteration order, usetoSortedSet(TriFunction)
.- Type Parameters:
A
- type of the first matched factB
- type of the second matched factC
- type of the third matched factMapped
- type of elements in the resulting collection- Parameters:
groupValueMapping
- never null, converts matched facts to elements of the resulting collection- Returns:
- never null
-
toCollection
public static <A,B,C,D,Mapped,Result extends Collection<Mapped>> QuadConstraintCollector<A,B,C,D,?,Result> toCollection(QuadFunction<A,B,C,D,Mapped> groupValueMapping, IntFunction<Result> collectionFunction)
-
toSet
public static <A,B,C,D,Mapped> QuadConstraintCollector<A,B,C,D,?,Set<Mapped>> toSet(QuadFunction<A,B,C,D,Mapped> groupValueMapping)
As defined bytoSet(Function)
.- Type Parameters:
A
- type of the first matched factB
- type of the second matched factC
- type of the third matched factD
- type of the fourth matched factMapped
- type of elements in the resulting set- Parameters:
groupValueMapping
- never null, converts matched facts to elements of the resulting set- Returns:
- never null
-
toSortedSet
public static <A,B,C,D,Mapped extends Comparable<Mapped>> QuadConstraintCollector<A,B,C,D,?,SortedSet<Mapped>> toSortedSet(QuadFunction<A,B,C,D,Mapped> groupValueMapping)
As defined bytoSortedSet(Function)
.- Type Parameters:
A
- type of the first matched factB
- type of the second matched factC
- type of the third matched factD
- type of the fourth matched factMapped
- type of elements in the resulting set- Parameters:
groupValueMapping
- never null, converts matched facts to elements of the resulting set- Returns:
- never null
-
toList
public static <A,B,C,D,Mapped> QuadConstraintCollector<A,B,C,D,?,List<Mapped>> toList(QuadFunction<A,B,C,D,Mapped> groupValueMapping)
Creates constraint collector that returnsList
of the given element type. Makes no guarantees on iteration order. For stable iteration order, usetoSortedSet(QuadFunction)
.- Type Parameters:
A
- type of the first matched factB
- type of the second matched factC
- type of the third matched factD
- type of the fourth matched factMapped
- type of elements in the resulting collection- Parameters:
groupValueMapping
- never null, converts matched facts to elements of the resulting collection- Returns:
- never null
-
toMap
public static <A,Key,Value> UniConstraintCollector<A,?,Map<Key,Set<Value>>> toMap(Function<? super A,? extends Key> keyMapper, Function<? super A,? extends Value> valueMapper)
Creates a constraint collector that returns aMap
with given keys and values consisting of aSet
of mappings.For example,
[Ann(age = 20), Beth(age = 25), Cathy(age = 30), David(age = 30), Eric(age = 20)]
with.groupBy(toMap(Person::getAge, Person::getName))
returns{20: [Ann, Eric], 25: [Beth], 30: [Cathy, David]}
.Makes no guarantees on iteration order, neither for map entries, nor for the value sets. For stable iteration order, use
toSortedMap(Function, Function, IntFunction)
.- Type Parameters:
A
- type of the matched factKey
- type of map keyValue
- type of map value- Parameters:
keyMapper
- map matched fact to a map keyvalueMapper
- map matched fact to a value- Returns:
- never null
-
toMap
public static <A,Key,Value,ValueSet extends Set<Value>> UniConstraintCollector<A,?,Map<Key,ValueSet>> toMap(Function<? super A,? extends Key> keyMapper, Function<? super A,? extends Value> valueMapper, IntFunction<ValueSet> valueSetFunction)
Creates a constraint collector that returns aMap
with given keys and values consisting of aSet
of mappings.For example,
[Ann(age = 20), Beth(age = 25), Cathy(age = 30), David(age = 30), Eric(age = 20)]
with.groupBy(toMap(Person::getAge, Person::getName))
returns{20: [Ann, Eric], 25: [Beth], 30: [Cathy, David]}
.Iteration order of value collections depends on the
Set
provided. Makes no guarantees on iteration order for map entries, usetoSortedMap(Function, Function, IntFunction)
for that.- Type Parameters:
A
- type of the matched factKey
- type of map keyValue
- type of map valueValueSet
- type of the value set- Parameters:
keyMapper
- map matched fact to a map keyvalueMapper
- map matched fact to a valuevalueSetFunction
- creates a set that will be used to store value mappings- Returns:
- never null
-
toMap
public static <A,Key,Value> UniConstraintCollector<A,?,Map<Key,Value>> toMap(Function<? super A,? extends Key> keyMapper, Function<? super A,? extends Value> valueMapper, BinaryOperator<Value> mergeFunction)
Creates a constraint collector that returns aMap
.For example,
[Ann(age = 20), Beth(age = 25), Cathy(age = 30), David(age = 30), Eric(age = 20)]
with.groupBy(toMap(Person::getAge, Person::getName, (name1, name2) -> name1 + " and " + name2)
returns{20: "Ann and Eric", 25: "Beth", 30: "Cathy and David"}
.Makes no guarantees on iteration order for map entries. For stable iteration order, use
toSortedMap(Function, Function, BinaryOperator)
.- Type Parameters:
A
- type of the matched factKey
- type of map keyValue
- type of map value- Parameters:
keyMapper
- map matched fact to a map keyvalueMapper
- map matched fact to a valuemergeFunction
- takes two values and merges them to one- Returns:
- never null
-
toSortedMap
public static <A,Key extends Comparable<Key>,Value> UniConstraintCollector<A,?,SortedMap<Key,Set<Value>>> toSortedMap(Function<? super A,? extends Key> keyMapper, Function<? super A,? extends Value> valueMapper)
Creates a constraint collector that returns aSortedMap
with given keys and values consisting of aSet
of mappings.For example,
[Ann(age = 20), Beth(age = 25), Cathy(age = 30), David(age = 30), Eric(age = 20)]
with.groupBy(toMap(Person::getAge, Person::getName))
returns{20: [Ann, Eric], 25: [Beth], 30: [Cathy, David]}
.Makes no guarantees on iteration order for the value sets, use
toSortedMap(Function, Function, IntFunction)
for that.- Type Parameters:
A
- type of the matched factKey
- type of map keyValue
- type of map value- Parameters:
keyMapper
- map matched fact to a map keyvalueMapper
- map matched fact to a value- Returns:
- never null
-
toSortedMap
public static <A,Key extends Comparable<Key>,Value,ValueSet extends Set<Value>> UniConstraintCollector<A,?,SortedMap<Key,ValueSet>> toSortedMap(Function<? super A,? extends Key> keyMapper, Function<? super A,? extends Value> valueMapper, IntFunction<ValueSet> valueSetFunction)
Creates a constraint collector that returns aSortedMap
with given keys and values consisting of aSet
of mappings.For example,
[Ann(age = 20), Beth(age = 25), Cathy(age = 30), David(age = 30), Eric(age = 20)]
with.groupBy(toMap(Person::getAge, Person::getName))
returns{20: [Ann, Eric], 25: [Beth], 30: [Cathy, David]}
.Iteration order of value collections depends on the
Set
provided.- Type Parameters:
A
- type of the matched factKey
- type of map keyValue
- type of map valueValueSet
- type of the value set- Parameters:
keyMapper
- map matched fact to a map keyvalueMapper
- map matched fact to a valuevalueSetFunction
- creates a set that will be used to store value mappings- Returns:
- never null
-
toSortedMap
public static <A,Key extends Comparable<Key>,Value> UniConstraintCollector<A,?,SortedMap<Key,Value>> toSortedMap(Function<? super A,? extends Key> keyMapper, Function<? super A,? extends Value> valueMapper, BinaryOperator<Value> mergeFunction)
Creates a constraint collector that returns aSortedMap
.For example,
[Ann(age = 20), Beth(age = 25), Cathy(age = 30), David(age = 30), Eric(age = 20)]
with.groupBy(toMap(Person::getAge, Person::getName, (name1, name2) -> name1 + " and " + name2)
returns{20: "Ann and Eric", 25: "Beth", 30: "Cathy and David"}
.- Type Parameters:
A
- type of the matched factKey
- type of map keyValue
- type of map value- Parameters:
keyMapper
- map matched fact to a map keyvalueMapper
- map matched fact to a valuemergeFunction
- takes two values and merges them to one- Returns:
- never null
-
toMap
public static <A,B,Key,Value> BiConstraintCollector<A,B,?,Map<Key,Set<Value>>> toMap(BiFunction<? super A,? super B,? extends Key> keyMapper, BiFunction<? super A,? super B,? extends Value> valueMapper)
As defined bytoMap(Function, Function)
.- Type Parameters:
A
- type of the first matched factB
- type of the second matched factKey
- type of map keyValue
- type of map value- Parameters:
keyMapper
- map matched fact to a map keyvalueMapper
- map matched fact to a value- Returns:
- never null
-
toMap
public static <A,B,Key,Value,ValueSet extends Set<Value>> BiConstraintCollector<A,B,?,Map<Key,ValueSet>> toMap(BiFunction<? super A,? super B,? extends Key> keyMapper, BiFunction<? super A,? super B,? extends Value> valueMapper, IntFunction<ValueSet> valueSetFunction)
As defined bytoMap(Function, Function, IntFunction)
.- Type Parameters:
A
- type of the first matched factB
- type of the second matched factKey
- type of map keyValue
- type of map valueValueSet
- type of the value set- Parameters:
keyMapper
- map matched fact to a map keyvalueMapper
- map matched fact to a valuevalueSetFunction
- creates a set that will be used to store value mappings- Returns:
- never null
-
toMap
public static <A,B,Key,Value> BiConstraintCollector<A,B,?,Map<Key,Value>> toMap(BiFunction<? super A,? super B,? extends Key> keyMapper, BiFunction<? super A,? super B,? extends Value> valueMapper, BinaryOperator<Value> mergeFunction)
As defined bytoMap(Function, Function, BinaryOperator)
.- Type Parameters:
A
- type of the first matched factB
- type of the second matched factKey
- type of map keyValue
- type of map value- Parameters:
keyMapper
- map matched fact to a map keyvalueMapper
- map matched fact to a valuemergeFunction
- takes two values and merges them to one- Returns:
- never null
-
toSortedMap
public static <A,B,Key extends Comparable<Key>,Value> BiConstraintCollector<A,B,?,SortedMap<Key,Set<Value>>> toSortedMap(BiFunction<? super A,? super B,? extends Key> keyMapper, BiFunction<? super A,? super B,? extends Value> valueMapper)
As defined bytoSortedMap(Function, Function)
.- Type Parameters:
A
- type of the first matched factB
- type of the second matched factKey
- type of map keyValue
- type of map value- Parameters:
keyMapper
- map matched fact to a map keyvalueMapper
- map matched fact to a value- Returns:
- never null
-
toSortedMap
public static <A,B,Key extends Comparable<Key>,Value,ValueSet extends Set<Value>> BiConstraintCollector<A,B,?,SortedMap<Key,ValueSet>> toSortedMap(BiFunction<? super A,? super B,? extends Key> keyMapper, BiFunction<? super A,? super B,? extends Value> valueMapper, IntFunction<ValueSet> valueSetFunction)
As defined bytoSortedMap(Function, Function, IntFunction)
.- Type Parameters:
A
- type of the first matched factB
- type of the second matched factKey
- type of map keyValue
- type of map valueValueSet
- type of the value set- Parameters:
keyMapper
- map matched fact to a map keyvalueMapper
- map matched fact to a valuevalueSetFunction
- creates a set that will be used to store value mappings- Returns:
- never null
-
toSortedMap
public static <A,B,Key extends Comparable<Key>,Value> BiConstraintCollector<A,B,?,SortedMap<Key,Value>> toSortedMap(BiFunction<? super A,? super B,? extends Key> keyMapper, BiFunction<? super A,? super B,? extends Value> valueMapper, BinaryOperator<Value> mergeFunction)
As defined bytoSortedMap(Function, Function, BinaryOperator)
.- Type Parameters:
A
- type of the first matched factB
- type of the second matched factKey
- type of map keyValue
- type of map value- Parameters:
keyMapper
- map matched fact to a map keyvalueMapper
- map matched fact to a valuemergeFunction
- takes two values and merges them to one- Returns:
- never null
-
toMap
public static <A,B,C,Key,Value> TriConstraintCollector<A,B,C,?,Map<Key,Set<Value>>> toMap(TriFunction<? super A,? super B,? super C,? extends Key> keyMapper, TriFunction<? super A,? super B,? super C,? extends Value> valueMapper)
As defined bytoMap(Function, Function)
.- Type Parameters:
A
- type of the first matched factB
- type of the second matched factC
- type of the third matched factKey
- type of map keyValue
- type of map value- Parameters:
keyMapper
- map matched fact to a map keyvalueMapper
- map matched fact to a value- Returns:
- never null
-
toMap
public static <A,B,C,Key,Value,ValueSet extends Set<Value>> TriConstraintCollector<A,B,C,?,Map<Key,ValueSet>> toMap(TriFunction<? super A,? super B,? super C,? extends Key> keyMapper, TriFunction<? super A,? super B,? super C,? extends Value> valueMapper, IntFunction<ValueSet> valueSetFunction)
As defined bytoMap(Function, Function, IntFunction)
.- Type Parameters:
A
- type of the first matched factB
- type of the second matched factC
- type of the third matched factKey
- type of map keyValue
- type of map valueValueSet
- type of the value set- Parameters:
keyMapper
- map matched fact to a map keyvalueMapper
- map matched fact to a valuevalueSetFunction
- creates a set that will be used to store value mappings- Returns:
- never null
-
toMap
public static <A,B,C,Key,Value> TriConstraintCollector<A,B,C,?,Map<Key,Value>> toMap(TriFunction<? super A,? super B,? super C,? extends Key> keyMapper, TriFunction<? super A,? super B,? super C,? extends Value> valueMapper, BinaryOperator<Value> mergeFunction)
As defined bytoMap(Function, Function, BinaryOperator)
.- Type Parameters:
A
- type of the first matched factB
- type of the second matched factC
- type of the third matched factKey
- type of map keyValue
- type of map value- Parameters:
keyMapper
- map matched fact to a map keyvalueMapper
- map matched fact to a valuemergeFunction
- takes two values and merges them to one- Returns:
- never null
-
toSortedMap
public static <A,B,C,Key extends Comparable<Key>,Value> TriConstraintCollector<A,B,C,?,SortedMap<Key,Set<Value>>> toSortedMap(TriFunction<? super A,? super B,? super C,? extends Key> keyMapper, TriFunction<? super A,? super B,? super C,? extends Value> valueMapper)
As defined bytoSortedMap(Function, Function)
.- Type Parameters:
A
- type of the first matched factB
- type of the second matched factC
- type of the third matched factKey
- type of map keyValue
- type of map value- Parameters:
keyMapper
- map matched fact to a map keyvalueMapper
- map matched fact to a value- Returns:
- never null
-
toSortedMap
public static <A,B,C,Key extends Comparable<Key>,Value,ValueSet extends Set<Value>> TriConstraintCollector<A,B,C,?,SortedMap<Key,ValueSet>> toSortedMap(TriFunction<? super A,? super B,? super C,? extends Key> keyMapper, TriFunction<? super A,? super B,? super C,? extends Value> valueMapper, IntFunction<ValueSet> valueSetFunction)
As defined bytoSortedMap(Function, Function, IntFunction)
.- Type Parameters:
A
- type of the first matched factB
- type of the second matched factC
- type of the third matched factKey
- type of map keyValue
- type of map valueValueSet
- type of the value set- Parameters:
keyMapper
- map matched fact to a map keyvalueMapper
- map matched fact to a valuevalueSetFunction
- creates a set that will be used to store value mappings- Returns:
- never null
-
toSortedMap
public static <A,B,C,Key extends Comparable<Key>,Value> TriConstraintCollector<A,B,C,?,SortedMap<Key,Value>> toSortedMap(TriFunction<? super A,? super B,? super C,? extends Key> keyMapper, TriFunction<? super A,? super B,? super C,? extends Value> valueMapper, BinaryOperator<Value> mergeFunction)
As defined bytoSortedMap(Function, Function, BinaryOperator)
.- Type Parameters:
A
- type of the first matched factB
- type of the second matched factC
- type of the third matched factKey
- type of map keyValue
- type of map value- Parameters:
keyMapper
- map matched fact to a map keyvalueMapper
- map matched fact to a valuemergeFunction
- takes two values and merges them to one- Returns:
- never null
-
toMap
public static <A,B,C,D,Key,Value> QuadConstraintCollector<A,B,C,D,?,Map<Key,Set<Value>>> toMap(QuadFunction<? super A,? super B,? super C,? super D,? extends Key> keyMapper, QuadFunction<? super A,? super B,? super C,? super D,? extends Value> valueMapper)
As defined bytoMap(Function, Function)
.- Type Parameters:
A
- type of the first matched factB
- type of the second matched factC
- type of the third matched factD
- type of the fourth matched factKey
- type of map keyValue
- type of map value- Parameters:
keyMapper
- map matched fact to a map keyvalueMapper
- map matched fact to a value- Returns:
- never null
-
toMap
public static <A,B,C,D,Key,Value,ValueSet extends Set<Value>> QuadConstraintCollector<A,B,C,D,?,Map<Key,ValueSet>> toMap(QuadFunction<? super A,? super B,? super C,? super D,? extends Key> keyMapper, QuadFunction<? super A,? super B,? super C,? super D,? extends Value> valueMapper, IntFunction<ValueSet> valueSetFunction)
As defined bytoMap(Function, Function, IntFunction)
.- Type Parameters:
A
- type of the first matched factB
- type of the second matched factC
- type of the third matched factD
- type of the fourth matched factKey
- type of map keyValue
- type of map valueValueSet
- type of the value set- Parameters:
keyMapper
- map matched fact to a map keyvalueMapper
- map matched fact to a valuevalueSetFunction
- creates a set that will be used to store value mappings- Returns:
- never null
-
toMap
public static <A,B,C,D,Key,Value> QuadConstraintCollector<A,B,C,D,?,Map<Key,Value>> toMap(QuadFunction<? super A,? super B,? super C,? super D,? extends Key> keyMapper, QuadFunction<? super A,? super B,? super C,? super D,? extends Value> valueMapper, BinaryOperator<Value> mergeFunction)
As defined bytoMap(Function, Function, BinaryOperator)
.- Type Parameters:
A
- type of the first matched factB
- type of the second matched factC
- type of the third matched factD
- type of the fourth matched factKey
- type of map keyValue
- type of map value- Parameters:
keyMapper
- map matched fact to a map keyvalueMapper
- map matched fact to a valuemergeFunction
- takes two values and merges them to one- Returns:
- never null
-
toSortedMap
public static <A,B,C,D,Key extends Comparable<Key>,Value> QuadConstraintCollector<A,B,C,D,?,SortedMap<Key,Set<Value>>> toSortedMap(QuadFunction<? super A,? super B,? super C,? super D,? extends Key> keyMapper, QuadFunction<? super A,? super B,? super C,? super D,? extends Value> valueMapper)
As defined bytoSortedMap(Function, Function)
.- Type Parameters:
A
- type of the first matched factB
- type of the second matched factC
- type of the third matched factD
- type of the fourth matched factKey
- type of map keyValue
- type of map value- Parameters:
keyMapper
- map matched fact to a map keyvalueMapper
- map matched fact to a value- Returns:
- never null
-
toSortedMap
public static <A,B,C,D,Key extends Comparable<Key>,Value,ValueSet extends Set<Value>> QuadConstraintCollector<A,B,C,D,?,SortedMap<Key,ValueSet>> toSortedMap(QuadFunction<? super A,? super B,? super C,? super D,? extends Key> keyMapper, QuadFunction<? super A,? super B,? super C,? super D,? extends Value> valueMapper, IntFunction<ValueSet> valueSetFunction)
As defined bytoSortedMap(Function, Function, IntFunction)
.- Type Parameters:
A
- type of the first matched factB
- type of the second matched factC
- type of the third matched factD
- type of the fourth matched factKey
- type of map keyValue
- type of map valueValueSet
- type of the value set- Parameters:
keyMapper
- map matched fact to a map keyvalueMapper
- map matched fact to a valuevalueSetFunction
- creates a set that will be used to store value mappings- Returns:
- never null
-
toSortedMap
public static <A,B,C,D,Key extends Comparable<Key>,Value> QuadConstraintCollector<A,B,C,D,?,SortedMap<Key,Value>> toSortedMap(QuadFunction<? super A,? super B,? super C,? super D,? extends Key> keyMapper, QuadFunction<? super A,? super B,? super C,? super D,? extends Value> valueMapper, BinaryOperator<Value> mergeFunction)
As defined bytoSortedMap(Function, Function, BinaryOperator)
.- Type Parameters:
A
- type of the first matched factB
- type of the second matched factC
- type of the third matched factD
- type of the fourth matched factKey
- type of map keyValue
- type of map value- Parameters:
keyMapper
- map matched fact to a map keyvalueMapper
- map matched fact to a valuemergeFunction
- takes two values and merges them to one- Returns:
- never null
-
-