Package org.optaplanner.core.impl.solver

## Class DefaultSolverFactory<Solution_>

- java.lang.Object
- - org.optaplanner.core.impl.solver.DefaultSolverFactory<Solution_>

- Type Parameters:
    `Solution_` - the solution type, the class with the `PlanningSolution` annotation
  All Implemented Interfaces:
    `SolverFactory<Solution_>`

      public final class DefaultSolverFactory<Solution_>
      extends Object
      implements SolverFactory<Solution_>

  See Also:
    `SolverFactory`

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `protected static class` | `DefaultSolverFactory.MoveThreadCountResolver` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DefaultSolverFactory​(SolverConfig solverConfig)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected List<Phase<Solution_>>` | `buildPhaseList​(HeuristicConfigPolicy<Solution_> configPolicy, BestSolutionRecaller<Solution_> bestSolutionRecaller, Termination<Solution_> termination)` |
    `protected RandomFactory` | `buildRandomFactory​(EnvironmentMode environmentMode_)` |
    `InnerScoreDirectorFactory<Solution_,​?>` | `buildScoreDirectorFactory​(EnvironmentMode environmentMode)` |
    `SolutionDescriptor<Solution_>` | `buildSolutionDescriptor()` |
    `Solver<Solution_>` | `buildSolver()` | Creates a new `Solver` instance.
    `InnerScoreDirectorFactory<Solution_,​?>` | `getScoreDirectorFactory()` |

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

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

- - ### Constructor Detail

    - #### DefaultSolverFactory

          public DefaultSolverFactory​(SolverConfig solverConfig)

  - ### Method Detail

    - #### getScoreDirectorFactory

          public InnerScoreDirectorFactory<Solution_,​?> getScoreDirectorFactory()

    - #### buildSolver

          public Solver<Solution_> buildSolver()

      Description copied from interface: `SolverFactory`
      Creates a new `Solver` instance.
      Specified by:
        `buildSolver` in interface `SolverFactory<Solution_>`
      Returns:
        never null

    - #### buildScoreDirectorFactory

          public InnerScoreDirectorFactory<Solution_,​?> buildScoreDirectorFactory​(EnvironmentMode environmentMode)

      Parameters:
        `environmentMode` - never null
      Returns:
        never null

    - #### buildSolutionDescriptor

          public SolutionDescriptor<Solution_> buildSolutionDescriptor()

      Returns:
        never null

    - #### buildRandomFactory

          protected RandomFactory buildRandomFactory​(EnvironmentMode environmentMode_)

    - #### buildPhaseList

          protected List<Phase<Solution_>> buildPhaseList​(HeuristicConfigPolicy<Solution_> configPolicy,
                                                          BestSolutionRecaller<Solution_> bestSolutionRecaller,
                                                          Termination<Solution_> termination)