Class DrlScoreDirectorFactory<Solution_,Score_ extends org.optaplanner.core.api.score.Score<Score_>>

java.lang.Object
org.optaplanner.core.impl.score.director.AbstractScoreDirectorFactory<Solution_,Score_>
org.optaplanner.constraint.drl.DrlScoreDirectorFactory<Solution_,Score_>
Type Parameters:
Solution_ - the solution type, the class with the PlanningSolution annotation
Score_ - the score type to go with the solution
All Implemented Interfaces:
org.optaplanner.core.impl.score.director.InnerScoreDirectorFactory<Solution_,Score_>, org.optaplanner.core.impl.score.director.ScoreDirectorFactory<Solution_>

public class DrlScoreDirectorFactory<Solution_,Score_ extends org.optaplanner.core.api.score.Score<Score_>> extends org.optaplanner.core.impl.score.director.AbstractScoreDirectorFactory<Solution_,Score_>
Drools implementation of ScoreDirectorFactory.
See Also:
  • Field Details

    • ruleToConstraintWeightExtractorMap

      protected Map<org.kie.api.definition.rule.Rule,Function<Solution_,Score_ extends org.optaplanner.core.api.score.Score<Score_>>> ruleToConstraintWeightExtractorMap
  • Constructor Details

    • DrlScoreDirectorFactory

      public DrlScoreDirectorFactory(org.optaplanner.core.impl.domain.solution.descriptor.SolutionDescriptor<Solution_> solutionDescriptor, org.kie.api.KieBase kieBase)
      Parameters:
      solutionDescriptor - never null
      kieBase - never null
  • Method Details

    • assertGlobalScoreHolderExists

      protected void assertGlobalScoreHolderExists(org.kie.api.KieBase kieBase)
    • createRuleToConstraintWeightExtractorMap

      protected void createRuleToConstraintWeightExtractorMap(org.kie.api.KieBase kieBase)
    • getRuleToConstraintWeightExtractorMap

      public Map<org.kie.api.definition.rule.Rule,Function<Solution_,Score_>> getRuleToConstraintWeightExtractorMap()
    • buildScoreDirector

      public DrlScoreDirector<Solution_,Score_> buildScoreDirector(boolean lookUpEnabled, boolean constraintMatchEnabledPreference)
    • newKieSession

      public org.kie.api.runtime.KieSession newKieSession()