public class BendableBigDecimalScoreDefinition extends AbstractBendableScoreDefinition<BendableBigDecimalScore>
hardLevelsSize, softLevelsSize
Constructor and Description |
---|
BendableBigDecimalScoreDefinition(int hardLevelsSize,
int softLevelsSize) |
generateLevelLabels, getFeasibleLevelsSize, getHardLevelsSize, getLevelsSize, getSoftLevelsSize, isCompatibleArithmeticArgument
divide, divide, divide, divide, formatScore, getInitLabel, getLevelLabels, sanitize, sanitize, sanitize, sanitize, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
formatScore, getInitLabel, getLevelLabels, isNegativeOrZero, isPositiveOrZero
public BendableBigDecimalScoreDefinition(int hardLevelsSize, int softLevelsSize)
public Class<BendableBigDecimalScore> getScoreClass()
ScoreDefinition
Class
of the actual Score
implementation.
For example: returns HardSoftScore.class
on HardSoftScoreDefinition
.public BendableBigDecimalScore getZeroScore()
ScoreDefinition
public final BendableBigDecimalScore getOneSoftestScore()
ScoreDefinition
public BendableBigDecimalScore parseScore(String scoreString)
ScoreDefinition
scoreString
- never nullScoreDefinition.formatScore(Score)
,
ScoreUtils.parseScore(Class, String)
public BendableBigDecimalScore fromLevelNumbers(int initScore, Number[] levelNumbers)
ScoreDefinition
Score.toLevelNumbers()
.initScore
- <= 0
, managed by OptaPlanner, needed as a parameter in the Score
's creation
method, see Score.getInitScore()
levelNumbers
- never nullpublic BendableBigDecimalScore createScore(BigDecimal... scores)
public BendableBigDecimalScore createScoreUninitialized(int initScore, BigDecimal... scores)
public BendableBigDecimalScoreInliner buildScoreInliner(boolean constraintMatchEnabled)
ScoreDefinition
BavetConstraintFactory
constraintMatchEnabled
- true if ScoreDirector.isConstraintMatchEnabled()
should be truepublic ScoreHolder buildScoreHolder(boolean constraintMatchEnabled)
ScoreDefinition
DroolsScoreDirector
.constraintMatchEnabled
- true if ScoreDirector.isConstraintMatchEnabled()
should be truepublic BendableBigDecimalScore buildOptimisticBound(InitializingScoreTrend initializingScoreTrend, BendableBigDecimalScore score)
ScoreDefinition
Score
which is equal or better than any other Score
with more variables initialized
(while the already variables don't change).initializingScoreTrend
- never null, with InitializingScoreTrend.getLevelsSize()
equal to ScoreDefinition.getLevelsSize()
.score
- never null, with Score.getInitScore()
0
.public BendableBigDecimalScore buildPessimisticBound(InitializingScoreTrend initializingScoreTrend, BendableBigDecimalScore score)
ScoreDefinition
Score
which is equal or worse than any other Score
with more variables initialized
(while the already variables don't change).initializingScoreTrend
- never null, with InitializingScoreTrend.getLevelsSize()
equal to ScoreDefinition.getLevelsSize()
.score
- never null, with Score.getInitScore()
0
public BendableBigDecimalScore divideBySanitizedDivisor(BendableBigDecimalScore dividend, BendableBigDecimalScore divisor)
ScoreDefinition
Score
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 by Math.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 dividedCopyright © 2006–2021 JBoss by Red Hat. All rights reserved.