public abstract class AbstractScoreDefinition<S extends Score<S>> extends Object implements ScoreDefinition<S>, Serializable
ScoreDefinition
.ScoreDefinition
,
HardSoftScoreDefinition
,
Serialized FormConstructor and Description |
---|
AbstractScoreDefinition(String[] levelLabels) |
Modifier and Type | Method and Description |
---|---|
protected static BigDecimal |
divide(BigDecimal dividend,
BigDecimal divisor) |
protected static double |
divide(double dividend,
double divisor) |
protected static int |
divide(int dividend,
int divisor) |
protected static long |
divide(long dividend,
long divisor) |
String |
formatScore(S score)
|
String |
getInitLabel()
Returns the label for
Score.getInitScore() . |
String[] |
getLevelLabels()
Returns a label for each score level.
|
int |
getLevelsSize()
Returns the length of
Score.toLevelNumbers() for every Score of this definition. |
boolean |
isCompatibleArithmeticArgument(Score score) |
protected static BigDecimal |
sanitize(BigDecimal number) |
protected static double |
sanitize(double number) |
protected static int |
sanitize(int number) |
protected static long |
sanitize(long number) |
String |
toString() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
buildOptimisticBound, buildPessimisticBound, buildScoreHolder, buildScoreInliner, divideBySanitizedDivisor, fromLevelNumbers, getFeasibleLevelsSize, getOneSoftestScore, getScoreClass, getZeroScore, isNegativeOrZero, isPositiveOrZero, parseScore
public AbstractScoreDefinition(String[] levelLabels)
levelLabels
- never null, as defined by ScoreDefinition.getLevelLabels()
protected static int sanitize(int number)
protected static long sanitize(long number)
protected static double sanitize(double number)
protected static BigDecimal sanitize(BigDecimal number)
protected static int divide(int dividend, int divisor)
protected static long divide(long dividend, long divisor)
protected static double divide(double dividend, double divisor)
protected static BigDecimal divide(BigDecimal dividend, BigDecimal divisor)
public String getInitLabel()
ScoreDefinition
Score.getInitScore()
.getInitLabel
in interface ScoreDefinition<S extends Score<S>>
ScoreDefinition.getLevelLabels()
public int getLevelsSize()
ScoreDefinition
Score.toLevelNumbers()
for every Score
of this definition.
For example: returns 2 on HardSoftScoreDefinition
.getLevelsSize
in interface ScoreDefinition<S extends Score<S>>
public String[] getLevelLabels()
ScoreDefinition
{"hard score", "soft score "}
on HardSoftScoreDefinition
.
It does not include the ScoreDefinition.getInitLabel()
.
getLevelLabels
in interface ScoreDefinition<S extends Score<S>>
ScoreDefinition.getLevelsSize()
, each element is never nullpublic String formatScore(S score)
ScoreDefinition
formatScore
in interface ScoreDefinition<S extends Score<S>>
score
- never nullScoreDefinition.parseScore(String)
public boolean isCompatibleArithmeticArgument(Score score)
isCompatibleArithmeticArgument
in interface ScoreDefinition<S extends Score<S>>
score
- never nullScore.add(Score)
,
Score.subtract(Score)
and Comparable.compareTo(Object)
for scores of this score definition.Copyright © 2006–2021 JBoss by Red Hat. All rights reserved.