Package ai.timefold.solver.constraint.streams.common.inliner
package ai.timefold.solver.constraint.streams.common.inliner
-
ClassDescriptionAbstractScoreInliner<Score_ extends Score<Score_>>Keeps track of the working score and constraint matches for a single constraint session.ConstraintMatchSupplier<Score_ extends Score<Score_>>Allows creating
ConstraintMatchinstances lazily if and only if they are required by the end user.There are several valid ways how an impacter could be called from a constraint stream:.penalize(..., (int) 1).penalizeLong(..., (int) 1).penalizeLong(..., (long) 1).penalizeBigDecimal(..., (int) 1).penalizeBigDecimal(..., (long) 1).penalizeBigDecimal(..., BigDecimal.ONE)Plus reward variants of the above. An implementation of this interface can throw anUnsupportedOperationExceptionfor the method types it doesn't support.WeightedScoreImpacter.BigDecimalImpactFunction<Score_ extends Score<Score_>,Context_ extends ScoreContext<Score_, ?>> WeightedScoreImpacter.IntImpactFunction<Score_ extends Score<Score_>,Context_ extends ScoreContext<Score_, ?>> WeightedScoreImpacter.LongImpactFunction<Score_ extends Score<Score_>,Context_ extends ScoreContext<Score_, ?>>