Package org.optaplanner.core.impl.score.director.stream

## Class AbstractConstraintStreamScoreDirectorFactory<Solution_,​Score_ extends Score<Score_>>

- java.lang.Object
- - org.optaplanner.core.impl.score.director.AbstractScoreDirectorFactory<Solution_,​Score_>
  - - org.optaplanner.core.impl.score.director.stream.AbstractConstraintStreamScoreDirectorFactory<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:
    `InnerScoreDirectorFactory<Solution_,​Score_>`, `ScoreDirectorFactory<Solution_>`
  Direct Known Subclasses:
    `BavetConstraintStreamScoreDirectorFactory`, `DroolsConstraintStreamScoreDirectorFactory`

      public abstract class AbstractConstraintStreamScoreDirectorFactory<Solution_,​Score_ extends Score<Score_>>
      extends AbstractScoreDirectorFactory<Solution_,​Score_>

  FP streams implementation of `ScoreDirectorFactory`.
  See Also:
    `ConstraintStreamScoreDirector`, `ScoreDirectorFactory`

- - ### Field Summary

    - ### Fields inherited from class org.optaplanner.core.impl.score.director.AbstractScoreDirectorFactory

      `assertClonedSolution, assertionScoreDirectorFactory, initializingScoreTrend, logger, solutionDescriptor`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `AbstractConstraintStreamScoreDirectorFactory​(SolutionDescriptor<Solution_> solutionDescriptor, ConstraintProvider constraintProvider, Supplier<InnerConstraintFactory<Solution_>> constraintFactorySupplier)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `ConstraintStreamScoreDirector<Solution_,​Score_>` | `buildScoreDirector​(boolean lookUpEnabled, boolean constraintMatchEnabledPreference)` | Like `InnerScoreDirectorFactory.buildScoreDirector()`, but optionally disables `ConstraintMatch` tracking and look up for more performance (presuming the `ScoreDirector` implementation actually supports it to begin with).
    `Constraint[]` | `getConstraints()` |
    `ConstraintSessionFactory<Solution_,​Score_>` | `getConstraintSessionFactory()` |
    `ConstraintSession<Solution_,​Score_>` | `newConstraintStreamingSession​(boolean constraintMatchEnabled, Solution_ workingSolution)` |

    - ### Methods inherited from class org.optaplanner.core.impl.score.director.AbstractScoreDirectorFactory

      `assertScoreFromScratch, buildScoreDirector, getAssertionScoreDirectorFactory, getInitializingScoreTrend, getScoreDefinition, getSolutionDescriptor, isAssertClonedSolution, setAssertClonedSolution, setAssertionScoreDirectorFactory, setInitializingScoreTrend`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### AbstractConstraintStreamScoreDirectorFactory

          protected AbstractConstraintStreamScoreDirectorFactory​(SolutionDescriptor<Solution_> solutionDescriptor,
                                                                 ConstraintProvider constraintProvider,
                                                                 Supplier<InnerConstraintFactory<Solution_>> constraintFactorySupplier)

  - ### Method Detail

    - #### buildScoreDirector

          public ConstraintStreamScoreDirector<Solution_,​Score_> buildScoreDirector​(boolean lookUpEnabled,
                                                                                          boolean constraintMatchEnabledPreference)

      Description copied from interface: `InnerScoreDirectorFactory`
      Like `InnerScoreDirectorFactory.buildScoreDirector()`, but optionally disables `ConstraintMatch` tracking and look up for more performance (presuming the `ScoreDirector` implementation actually supports it to begin with).
      Parameters:
        `lookUpEnabled` - true if a `ScoreDirector` implementation should track all working objects for `ScoreDirector.lookUpWorkingObject(Object)`
        `constraintMatchEnabledPreference` - false if a `ScoreDirector` implementation should not do `ConstraintMatch` tracking even if it supports it.
      Returns:
        never null
      See Also:
        `InnerScoreDirector.isConstraintMatchEnabled()`, `InnerScoreDirector.getConstraintMatchTotalMap()`

    - #### newConstraintStreamingSession

          public ConstraintSession<Solution_,​Score_> newConstraintStreamingSession​(boolean constraintMatchEnabled,
                                                                                         Solution_ workingSolution)

    - #### getConstraintSessionFactory

          public ConstraintSessionFactory<Solution_,​Score_> getConstraintSessionFactory()

    - #### getConstraints

          public Constraint[] getConstraints()