Class AbstractBendableScoreDefinition<Score_ extends Score<Score_>>
java.lang.Object
ai.timefold.solver.core.impl.score.definition.AbstractScoreDefinition<Score_>
ai.timefold.solver.core.impl.score.definition.AbstractBendableScoreDefinition<Score_>
- All Implemented Interfaces:
ScoreDefinition<Score_>
- Direct Known Subclasses:
BendableBigDecimalScoreDefinition,BendableLongScoreDefinition,BendableScoreDefinition
public abstract class AbstractBendableScoreDefinition<Score_ extends Score<Score_>>
extends AbstractScoreDefinition<Score_>
implements ScoreDefinition<Score_>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final intprotected final int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected static String[]generateLevelLabels(int hardLevelsSize, int softLevelsSize) intReturns the number of levels ofScore.toLevelNumbers().intintReturns the length ofScore.toLevelNumbers()for everyScoreof this definition.intbooleanMethods inherited from class ai.timefold.solver.core.impl.score.definition.AbstractScoreDefinition
divide, divide, divide, divide, getLevelLabels, sanitize, sanitize, sanitize, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface ai.timefold.solver.core.impl.score.definition.ScoreDefinition
buildOptimisticBound, buildPessimisticBound, divideBySanitizedDivisor, fromLevelNumbers, getLevelLabels, getNumericType, getOneSoftestScore, getScoreClass, getZeroScore, isNegativeOrZero, isPositiveOrZero, parseScore
-
Field Details
-
hardLevelsSize
protected final int hardLevelsSize -
softLevelsSize
protected final int softLevelsSize
-
-
Constructor Details
-
AbstractBendableScoreDefinition
public AbstractBendableScoreDefinition(int hardLevelsSize, int softLevelsSize)
-
-
Method Details
-
generateLevelLabels
-
getHardLevelsSize
public int getHardLevelsSize() -
getSoftLevelsSize
public int getSoftLevelsSize() -
getLevelsSize
public int getLevelsSize()Description copied from interface:ScoreDefinitionReturns the length ofScore.toLevelNumbers()for everyScoreof this definition. For example: returns 2 onHardSoftScoreDefinition.- Specified by:
getLevelsSizein interfaceScoreDefinition<Score_ extends Score<Score_>>- Overrides:
getLevelsSizein classAbstractScoreDefinition<Score_ extends Score<Score_>>- Returns:
- at least 1
-
getFeasibleLevelsSize
public int getFeasibleLevelsSize()Description copied from interface:ScoreDefinitionReturns the number of levels ofScore.toLevelNumbers(). that are used to determineScore.isFeasible().- Specified by:
getFeasibleLevelsSizein interfaceScoreDefinition<Score_ extends Score<Score_>>- Returns:
- at least 0, at most
ScoreDefinition.getLevelsSize()
-
isCompatibleArithmeticArgument
- Specified by:
isCompatibleArithmeticArgumentin interfaceScoreDefinition<Score_ extends Score<Score_>>- Overrides:
isCompatibleArithmeticArgumentin classAbstractScoreDefinition<Score_ extends Score<Score_>>- Parameters:
score- never null- Returns:
- true if the otherScore is accepted as a parameter of
Score.add(Score),Score.subtract(Score)andComparable.compareTo(Object)for scores of this score definition.
-