Class BendableLongScoreDefinition
- java.lang.Object
-
- org.optaplanner.core.impl.score.definition.AbstractScoreDefinition<Score_>
-
- org.optaplanner.core.impl.score.definition.AbstractBendableScoreDefinition<BendableLongScore>
-
- org.optaplanner.core.impl.score.buildin.bendablelong.BendableLongScoreDefinition
-
- All Implemented Interfaces:
ScoreDefinition<BendableLongScore>
public class BendableLongScoreDefinition extends AbstractBendableScoreDefinition<BendableLongScore>
-
-
Field Summary
-
Fields inherited from class org.optaplanner.core.impl.score.definition.AbstractBendableScoreDefinition
hardLevelsSize, softLevelsSize
-
-
Constructor Summary
Constructors Constructor Description BendableLongScoreDefinition(int hardLevelsSize, int softLevelsSize)
-
Method Summary
-
Methods inherited from class org.optaplanner.core.impl.score.definition.AbstractBendableScoreDefinition
generateLevelLabels, getFeasibleLevelsSize, getHardLevelsSize, getLevelsSize, getSoftLevelsSize, isCompatibleArithmeticArgument
-
Methods inherited from class org.optaplanner.core.impl.score.definition.AbstractScoreDefinition
divide, divide, divide, divide, formatScore, getInitLabel, getLevelLabels, sanitize, sanitize, sanitize, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.optaplanner.core.impl.score.definition.ScoreDefinition
formatScore, getInitLabel, getLevelLabels, isNegativeOrZero, isPositiveOrZero
-
-
-
-
Method Detail
-
getScoreClass
public Class<BendableLongScore> getScoreClass()
Description copied from interface:ScoreDefinition
Returns theClass
of the actualScore
implementation. For example: returnsHardSoftScore.class
onHardSoftScoreDefinition
.- Returns:
- never null
-
getZeroScore
public BendableLongScore getZeroScore()
Description copied from interface:ScoreDefinition
The score that represents zero.- Returns:
- never null
-
getOneSoftestScore
public final BendableLongScore getOneSoftestScore()
Description copied from interface:ScoreDefinition
The score that represents the softest possible one.- Returns:
- never null
-
parseScore
public BendableLongScore parseScore(String scoreString)
Description copied from interface:ScoreDefinition
- Parameters:
scoreString
- never null- Returns:
- never null
- See Also:
ScoreDefinition.formatScore(Score)
,ScoreUtils.parseScore(Class, String)
-
fromLevelNumbers
public BendableLongScore fromLevelNumbers(int initScore, Number[] levelNumbers)
Description copied from interface:ScoreDefinition
The opposite ofScore.toLevelNumbers()
.- Parameters:
initScore
-<= 0
, managed by OptaPlanner, needed as a parameter in theScore
's creation method, seeScore.getInitScore()
levelNumbers
- never null- Returns:
- never null
-
createScore
public BendableLongScore createScore(long... scores)
-
createScoreUninitialized
public BendableLongScore createScoreUninitialized(int initScore, long... scores)
-
buildScoreInliner
public BendableLongScoreInliner buildScoreInliner(Map<Constraint,BendableLongScore> constraintToWeightMap, boolean constraintMatchEnabled)
Description copied from interface:ScoreDefinition
Used byBavetConstraintFactory
andDroolsConstraintFactory
.- Parameters:
constraintToWeightMap
- never null, no zero-weight constraintsconstraintMatchEnabled
- true ifInnerScoreDirector.isConstraintMatchEnabled()
should be true- Returns:
- never null
-
buildScoreHolder
public BendableLongScoreHolderImpl buildScoreHolder(boolean constraintMatchEnabled)
Description copied from interface:ScoreDefinition
Used byDroolsScoreDirector
.- Parameters:
constraintMatchEnabled
- true ifInnerScoreDirector.isConstraintMatchEnabled()
should be true- Returns:
- never null
-
buildOptimisticBound
public BendableLongScore buildOptimisticBound(InitializingScoreTrend initializingScoreTrend, BendableLongScore score)
Description copied from interface:ScoreDefinition
Builds aScore
which is equal or better than any otherScore
with more variables initialized (while the already variables don't change).- Parameters:
initializingScoreTrend
- never null, withInitializingScoreTrend.getLevelsSize()
equal toScoreDefinition.getLevelsSize()
.score
- never null, withScore.getInitScore()
0
.- Returns:
- never null
-
buildPessimisticBound
public BendableLongScore buildPessimisticBound(InitializingScoreTrend initializingScoreTrend, BendableLongScore score)
Description copied from interface:ScoreDefinition
Builds aScore
which is equal or worse than any otherScore
with more variables initialized (while the already variables don't change).- Parameters:
initializingScoreTrend
- never null, withInitializingScoreTrend.getLevelsSize()
equal toScoreDefinition.getLevelsSize()
.score
- never null, withScore.getInitScore()
0
- Returns:
- never null
-
divideBySanitizedDivisor
public BendableLongScore divideBySanitizedDivisor(BendableLongScore dividend, BendableLongScore divisor)
Description copied from interface:ScoreDefinition
ReturnScore
whose every level is the result of dividing the matching levels in this and the divisor. When rounding is needed, it is floored (as defined byMath.floor(double)
).If any of the levels in the divisor are equal to zero, the method behaves as if they were equal to one instead.
divisor
- value by which this Score is to be divided- Returns:
- this / divisor
-
-