Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| OptaPlanner distribution 6.0.0.Beta3
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:
  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
`calculateCount, chainedVariableToTrailingEntitiesMap, constraintMatchEnabledPreference, hasChainedVariables, logger, scoreDirectorFactory, workingSolution`

Constructor Summary
`DroolsScoreDirector(DroolsScoreDirectorFactory scoreDirectorFactory)`

Method Summary
`void` | `afterAllVariablesChanged(Object entity)`
`void` | `afterEntityAdded(Object entity)`
`void` | `afterEntityRemoved(Object entity)`
`void` | `afterProblemFactAdded(Object problemFact)`
`void` | `afterProblemFactChanged(Object problemFact)`
`void` | `afterProblemFactRemoved(Object problemFact)`
`void` | `afterVariableChanged(Object entity, String variableName)`
`protected void` | `appendLegacyConstraintOccurrences(StringBuilder analysis, ScoreDirector corruptedScoreDirector, ScoreDirector uncorruptedScoreDirector)` Deprecated.
`Score` | `calculateScore()` Calculates the `Score` and updates the `workingSolution` accordingly.
`AbstractScoreDirector` | `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
`assertExpectedWorkingScore, assertWorkingScoreFromScratch, beforeAllVariablesChanged, beforeEntityAdded, beforeEntityRemoved, beforeProblemFactAdded, beforeProblemFactChanged, beforeProblemFactRemoved, beforeVariableChanged, buildScoreCorruptionAnalysis, cloneWorkingSolution, countWorkingSolutionUninitializedVariables, getCalculateCount, getScoreDefinition, getScoreDirectorFactory, getSolutionDescriptor, getTrailingEntity, getWorkingEntityCount, getWorkingEntityList, getWorkingSolution, getWorkingValueCount, isWorkingSolutionInitialized, setCalculatedScore, 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()

### afterEntityAdded

    public void afterEntityAdded(Object entity)

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

### afterAllVariablesChanged

    public void afterAllVariablesChanged(Object entity)

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

### afterVariableChanged

    public void afterVariableChanged(Object entity,
                                     String variableName)

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

### afterEntityRemoved

    public void afterEntityRemoved(Object entity)

  Specified by:
    `afterEntityRemoved` in interface `ScoreDirector`
  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>`

### 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 AbstractScoreDirector 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

### appendLegacyConstraintOccurrences

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

  Deprecated.

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

### 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>`

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

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