Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| OptaPlanner distribution 6.1.0.Beta1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.optaplanner.core.impl.score.director.drools
Class DroolsScoreDirector

    java.lang.Object
      org.optaplanner.core.impl.score.director.AbstractScoreDirector<DroolsScoreDirectorFactory>
          org.optaplanner.core.impl.score.director.drools.DroolsScoreDirector

All Implemented Interfaces:
  Cloneable, ScoreDirector

    public class DroolsScoreDirector

extends AbstractScoreDirector<DroolsScoreDirectorFactory>

Drools implementation of `ScoreDirector`, which directs the Rule Engine to calculate the `Score` of the `Solution` workingSolution.

See Also:
  `ScoreDirector`

Field Summary
`static String` | `GLOBAL_SCORE_HOLDER_KEY`
`protected org.kie.api.runtime.KieSession` | `kieSession`
`protected ScoreHolder` | `workingScoreHolder`

Fields inherited from class org.optaplanner.core.impl.score.director.AbstractScoreDirector
`allChangesWillBeUndoneBeforeStepEnds, calculateCount, constraintMatchEnabledPreference, logger, scoreDirectorFactory, trailingEntityMapSupport, variableListenerSupport, workingEntityListRevision, workingSolution`

Constructor Summary
`DroolsScoreDirector(DroolsScoreDirectorFactory scoreDirectorFactory)`

Method Summary
`void` | `afterEntityAdded(PlanningEntityDescriptor entityDescriptor, Object entity)`
`void` | `afterEntityRemoved(PlanningEntityDescriptor entityDescriptor, Object entity)`
`void` | `afterProblemFactAdded(Object problemFact)`
`void` | `afterProblemFactChanged(Object problemFact)`
`void` | `afterProblemFactRemoved(Object problemFact)`
`void` | `afterShadowVariableChanged(Object entity, String variableName)`
`void` | `afterVariableChanged(PlanningVariableDescriptor variableDescriptor, Object entity)`
`protected void` | `appendLegacyConstraintOccurrences(StringBuilder analysis, ScoreDirector corruptedScoreDirector, ScoreDirector uncorruptedScoreDirector)` Deprecated.
`Score` | `calculateScore()` Calculates the `Score` and updates the `workingSolution` accordingly.
`DroolsScoreDirector` | `clone()` Clones this `ScoreDirector` and its `workingSolution`.
`void` | `dispose()` Needs to be called after use because some implementations needs to clean up their resources.
`Collection<ConstraintMatchTotal>` | `getConstraintMatchTotals()`
`protected org.kie.api.KieBase` | `getKieBase()`
`org.kie.api.runtime.KieSession` | `getKieSession()`
`Collection<Object>` | `getWorkingFacts()`
`boolean` | `isConstraintMatchEnabled()`
`void` | `setWorkingSolution(Solution workingSolution)` The `workingSolution` must never be the same instance as the `bestSolution`, it should be a (un)changed clone.

Methods inherited from class org.optaplanner.core.impl.score.director.AbstractScoreDirector
`afterEntityAdded, afterEntityRemoved, afterVariableChanged, assertExpectedWorkingScore, assertWorkingScoreFromScratch, beforeEntityAdded, beforeEntityAdded, beforeEntityRemoved, beforeEntityRemoved, beforeProblemFactAdded, beforeProblemFactChanged, beforeProblemFactRemoved, beforeShadowVariableChanged, beforeVariableChanged, beforeVariableChanged, buildScoreCorruptionAnalysis, cloneWorkingSolution, countWorkingSolutionUninitializedVariables, getCalculateCount, getScoreDefinition, getScoreDirectorFactory, getSolutionDescriptor, getTrailingEntity, getWorkingEntityCount, getWorkingEntityList, getWorkingEntityListRevision, getWorkingSolution, getWorkingValueCount, isAllChangesWillBeUndoneBeforeStepEnds, isWorkingEntityListDirty, isWorkingSolutionInitialized, setAllChangesWillBeUndoneBeforeStepEnds, setCalculatedScore, setWorkingEntityListDirty, toString`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### GLOBAL_SCORE_HOLDER_KEY

    public static final String GLOBAL_SCORE_HOLDER_KEY

See Also:
  Constant Field Values

### kieSession

    protected org.kie.api.runtime.KieSession kieSession

### workingScoreHolder

    protected ScoreHolder workingScoreHolder

Constructor Detail

### DroolsScoreDirector

    public DroolsScoreDirector(DroolsScoreDirectorFactory scoreDirectorFactory)

Method Detail

### getKieBase

    protected org.kie.api.KieBase getKieBase()

### getKieSession

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

### setWorkingSolution

    public void setWorkingSolution(Solution workingSolution)

  Description copied from interface: `ScoreDirector`
  The `workingSolution` must never be the same instance as the `bestSolution`, it should be a (un)changed clone.

  Specified by:
    `setWorkingSolution` in interface `ScoreDirector`
  Overrides:
    `setWorkingSolution` in class `AbstractScoreDirector<DroolsScoreDirectorFactory>`
  Parameters:
    `workingSolution` - never null

### getWorkingFacts

    public Collection<Object> getWorkingFacts()

### calculateScore

    public Score calculateScore()

  Description copied from interface: `ScoreDirector`
  Calculates the `Score` and updates the `workingSolution` accordingly.

  Returns:
    never null, the `Score` of the `workingSolution`

### isConstraintMatchEnabled

    public boolean isConstraintMatchEnabled()

  Specified by:
    `isConstraintMatchEnabled` in interface `ScoreDirector`
  Overrides:
    `isConstraintMatchEnabled` in class `AbstractScoreDirector<DroolsScoreDirectorFactory>`
  Returns:
    true if `ScoreDirector.getConstraintMatchTotals()` can be called

### getConstraintMatchTotals

    public Collection<ConstraintMatchTotal> getConstraintMatchTotals()

  Specified by:
    `getConstraintMatchTotals` in interface `ScoreDirector`
  Overrides:
    `getConstraintMatchTotals` in class `AbstractScoreDirector<DroolsScoreDirectorFactory>`
  Returns:
    never null

### clone

    public DroolsScoreDirector clone()

  Description copied from interface: `ScoreDirector`
  Clones this `ScoreDirector` and its `workingSolution`. Use `ScoreDirector.getWorkingSolution()` to retrieve the `workingSolution` of that clone.

  This is heavy method, because it usually breaks incremental score calculation. Use it sparingly. Therefore it's best to clone lazily by delaying the clone call as long as possible.

  Specified by:
    `clone` in interface `ScoreDirector`
  Overrides:
    `clone` in class `AbstractScoreDirector<DroolsScoreDirectorFactory>`
  Returns:
    never null

### dispose

    public void dispose()

  Description copied from interface: `ScoreDirector`
  Needs to be called after use because some implementations needs to clean up their resources.

  Specified by:
    `dispose` in interface `ScoreDirector`
  Overrides:
    `dispose` in class `AbstractScoreDirector<DroolsScoreDirectorFactory>`

### afterEntityAdded

    public void afterEntityAdded(PlanningEntityDescriptor entityDescriptor,
                                 Object entity)

  Overrides:
    `afterEntityAdded` in class `AbstractScoreDirector<DroolsScoreDirectorFactory>`

### afterVariableChanged

    public void afterVariableChanged(PlanningVariableDescriptor variableDescriptor,
                                     Object entity)

  Overrides:
    `afterVariableChanged` in class `AbstractScoreDirector<DroolsScoreDirectorFactory>`

### afterShadowVariableChanged

    public void afterShadowVariableChanged(Object entity,
                                           String variableName)

  Overrides:
    `afterShadowVariableChanged` in class `AbstractScoreDirector<DroolsScoreDirectorFactory>`

### afterEntityRemoved

    public void afterEntityRemoved(PlanningEntityDescriptor entityDescriptor,
                                   Object entity)

  Overrides:
    `afterEntityRemoved` in class `AbstractScoreDirector<DroolsScoreDirectorFactory>`

### afterProblemFactAdded

    public void afterProblemFactAdded(Object problemFact)

  Specified by:
    `afterProblemFactAdded` in interface `ScoreDirector`
  Overrides:
    `afterProblemFactAdded` in class `AbstractScoreDirector<DroolsScoreDirectorFactory>`

### afterProblemFactChanged

    public void afterProblemFactChanged(Object problemFact)

  Specified by:
    `afterProblemFactChanged` in interface `ScoreDirector`
  Overrides:
    `afterProblemFactChanged` in class `AbstractScoreDirector<DroolsScoreDirectorFactory>`

### afterProblemFactRemoved

    public void afterProblemFactRemoved(Object problemFact)

  Specified by:
    `afterProblemFactRemoved` in interface `ScoreDirector`
  Overrides:
    `afterProblemFactRemoved` in class `AbstractScoreDirector<DroolsScoreDirectorFactory>`

### appendLegacyConstraintOccurrences

    @Deprecated
    protected void appendLegacyConstraintOccurrences(StringBuilder analysis,
                                                                ScoreDirector corruptedScoreDirector,
                                                                ScoreDirector uncorruptedScoreDirector)

  Deprecated.

  Overrides:
    `appendLegacyConstraintOccurrences` in class `AbstractScoreDirector<DroolsScoreDirectorFactory>`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| OptaPlanner distribution 6.1.0.Beta1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2006-2014 JBoss by Red Hat. All Rights Reserved.