Package org.optaplanner.core.api.score
Interface ScoreManager<Solution_,Score_ extends Score<Score_>>
- 
- Type Parameters:
- Solution_- the solution type, the class with the- PlanningSolutionannotation
- Score_- the actual score type
 - All Known Implementing Classes:
- DefaultScoreManager
 
 public interface ScoreManager<Solution_,Score_ extends Score<Score_>>A stateless service to help calculateScore,ConstraintMatchTotal,Indictment, etc.To create a ScoreManager, use create(SolverFactory).These methods are thread-safe unless explicitly stated otherwise. 
- 
- 
Method SummaryAll Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description static <Solution_,Score_ extends Score<Score_>>
 ScoreManager<Solution_,Score_>create(SolverFactory<Solution_> solverFactory)Uses aSolverFactoryto build aScoreManager.ScoreExplanation<Solution_,Score_>explainScore(Solution_ solution)Calculates and retrievesConstraintMatchTotals andIndictments necessary for describing the quality of a particular solution.StringgetSummary(Solution_ solution)Returns a diagnostic text that explains the solution through theConstraintMatchAPI to identify which constraints or planning entities cause that score quality.Score_updateScore(Solution_ solution)
 
- 
- 
- 
Method Detail- 
createstatic <Solution_,Score_ extends Score<Score_>> ScoreManager<Solution_,Score_> create(SolverFactory<Solution_> solverFactory) Uses aSolverFactoryto build aScoreManager.- Type Parameters:
- Solution_- the solution type, the class with the- PlanningSolutionannotation
- Score_- the actual score type
- Parameters:
- solverFactory- never null
- Returns:
- never null
 
 - 
getSummaryString getSummary(Solution_ solution) Returns a diagnostic text that explains the solution through theConstraintMatchAPI to identify which constraints or planning entities cause that score quality. In case of aninfeasiblesolution, this can help diagnose the cause of that.Do not parse this string. Instead, to provide this information in a UI or a service, use explainScore(Object)to retrieveScoreExplanation.getConstraintMatchTotalMap()andScoreExplanation.getIndictmentMap()and convert those into a domain specific API.- Parameters:
- solution- never null
- Returns:
- null if updateScore(Object)returns null with the same solution
- Throws:
- IllegalStateException- when constraint matching is disabled or not supported by the underlying score calculator, such as- EasyScoreCalculator.
 
 - 
explainScoreScoreExplanation<Solution_,Score_> explainScore(Solution_ solution) Calculates and retrievesConstraintMatchTotals andIndictments necessary for describing the quality of a particular solution.- Parameters:
- solution- never null
- Returns:
- never null
- Throws:
- IllegalStateException- when constraint matching is disabled or not supported by the underlying score calculator, such as- EasyScoreCalculator.
 
 
- 
 
-