Class ConstantLambdaUtils
java.lang.Object
ai.timefold.solver.core.impl.util.ConstantLambdaUtils
A class that holds common lambdas that are guaranteed to be the same across method calls.
In most JDK's,
stateless lambdas are bound to a
ConstantCallSite inside the method that defined them,
but that ConstantCallSite is not shared across methods,
even for methods in the same class.
Thus, when lambda reference equality is important (such as for node sharing in Constraint Streams),
the lambdas in this class should be used.-
Method Summary
Modifier and TypeMethodDescriptionstatic <A,B, C> BiFunction<A, B, C> Returns aBiFunctionthat returns null.static <A,B> ToIntBiFunction<A, B> Returns aToIntBiFunctionthat returns the constant 1.static <A,B> BiFunction<A, B, BigDecimal> Returns aBiFunctionthat returns the constant 1.static <A,B> ToLongBiFunction<A, B> Returns aToLongBiFunctionthat returns the constant 1.static <A,B> ToLongBiFunction<A, B> Returns aToLongBiFunctionthat returns the constant 0.static <A,B> BiFunction<A, B, A> Returns aBiFunctionthat returns its first input.static <A,B> BiFunction<A, B, B> Returns aBiFunctionthat returns its second input.static <A> Function<A,A> identity()Returns aFunctionthat returns its only input.static Runnablenoop()Returns aRunnablethat does nothing.static <A> BiPredicate<A,A> Returns aBiPredicatethat return true if and only if its inputs are not equal according toObjects.equals(Object, Object).static <A,B, C, D> ToIntQuadFunction<A, B, C, D> Returns aToIntQuadFunctionthat returns the constant 1.static <A,B, C, D> QuadFunction<A, B, C, D, BigDecimal> Returns aQuadFunctionthat returns the constant 1.static <A,B, C, D> ToLongQuadFunction<A, B, C, D> Returns aToLongQuadFunctionthat returns the constant 1.static <A,B, C, D> ToLongQuadFunction<A, B, C, D> Returns aToLongQuadFunctionthat returns the constant 0.static <A,B, C, D> QuadFunction<A, B, C, D, A> Returns aQuadFunctionthat returns its first input.static <A,B, C, D> QuadFunction<A, B, C, D, D> Returns aQuadFunctionthat returns its fourth input.static <A,B, C, D> QuadFunction<A, B, C, D, B> Returns aQuadFunctionthat returns its second input.static <A,B, C, D> QuadFunction<A, B, C, D, C> Returns aTriFunctionthat returns its third input.static <A,B, C, D> TriFunction<A, B, C, D> Returns aTriFunctionthat returns null.static <A,B, C> ToIntTriFunction<A, B, C> Returns aToIntTriFunctionthat returns the constant 1.static <A,B, C> TriFunction<A, B, C, BigDecimal> Returns aTriFunctionthat returns the constant 1.static <A,B, C> ToLongTriFunction<A, B, C> Returns aToLongTriFunctionthat returns the constant 1.static <A,B, C> ToLongTriFunction<A, B, C> Returns aToLongTriFunctionthat returns the constant 0.static <A,B, C> TriFunction<A, B, C, A> Returns aTriFunctionthat returns its first input.static <A,B, C> TriFunction<A, B, C, B> Returns aTriFunctionthat returns its second input.static <A,B, C> TriFunction<A, B, C, C> Returns aTriFunctionthat returns its third input.static <A,B> Function<A, B> Returns aFunctionthat returns null.static <A> ToIntFunction<A>Returns aToIntFunctionthat returns the constant 1.static <A> Function<A,BigDecimal> Returns aFunctionthat returns the constant 1.static <A> ToLongFunction<A>Returns aToLongFunctionthat returns the constant 1.static <A> ToLongFunction<A>Returns aToLongFunctionthat returns the constant 0.
-
Method Details
-
noop
Returns aRunnablethat does nothing.- Returns:
- never null
-
identity
Returns aFunctionthat returns its only input.- Returns:
- never null
-
notEquals
Returns aBiPredicatethat return true if and only if its inputs are not equal according toObjects.equals(Object, Object).- Returns:
- never null
-
biPickFirst
Returns aBiFunctionthat returns its first input.- Returns:
- never null
-
triPickFirst
Returns aTriFunctionthat returns its first input.- Returns:
- never null
-
quadPickFirst
Returns aQuadFunctionthat returns its first input.- Returns:
- never null
-
biPickSecond
Returns aBiFunctionthat returns its second input.- Returns:
- never null
-
triPickSecond
Returns aTriFunctionthat returns its second input.- Returns:
- never null
-
quadPickSecond
Returns aQuadFunctionthat returns its second input.- Returns:
- never null
-
triPickThird
Returns aTriFunctionthat returns its third input.- Returns:
- never null
-
quadPickThird
Returns aTriFunctionthat returns its third input.- Returns:
- never null
-
quadPickFourth
Returns aQuadFunctionthat returns its fourth input.- Returns:
- never null
-
uniConstantNull
Returns aFunctionthat returns null.- Returns:
- never null
-
uniConstantOne
Returns aToIntFunctionthat returns the constant 1.- Returns:
- never null
-
uniConstantZeroLong
Returns aToLongFunctionthat returns the constant 0.- Returns:
- never null
-
uniConstantOneLong
Returns aToLongFunctionthat returns the constant 1.- Returns:
- never null
-
uniConstantOneBigDecimal
Returns aFunctionthat returns the constant 1.- Returns:
- never null
-
biConstantNull
Returns aBiFunctionthat returns null.- Returns:
- never null
-
biConstantZeroLong
Returns aToLongBiFunctionthat returns the constant 0.- Returns:
- never null
-
biConstantOne
Returns aToIntBiFunctionthat returns the constant 1.- Returns:
- never null
-
biConstantOneLong
Returns aToLongBiFunctionthat returns the constant 1.- Returns:
- never null
-
biConstantOneBigDecimal
Returns aBiFunctionthat returns the constant 1.- Returns:
- never null
-
triConstantNull
Returns aTriFunctionthat returns null.- Returns:
- never null
-
triConstantZeroLong
Returns aToLongTriFunctionthat returns the constant 0.- Returns:
- never null
-
triConstantOne
Returns aToIntTriFunctionthat returns the constant 1.- Returns:
- never null
-
triConstantOneLong
Returns aToLongTriFunctionthat returns the constant 1.- Returns:
- never null
-
triConstantOneBigDecimal
Returns aTriFunctionthat returns the constant 1.- Returns:
- never null
-
quadConstantZeroLong
Returns aToLongQuadFunctionthat returns the constant 0.- Returns:
- never null
-
quadConstantOne
Returns aToIntQuadFunctionthat returns the constant 1.- Returns:
- never null
-
quadConstantOneLong
Returns aToLongQuadFunctionthat returns the constant 1.- Returns:
- never null
-
quadConstantOneBigDecimal
Returns aQuadFunctionthat returns the constant 1.- Returns:
- never null
-