Package org.optaplanner.core.config.phase

## Class PhaseConfig<C extends PhaseConfig>

- java.lang.Object
- - org.optaplanner.core.config.AbstractConfig<C>
  - - org.optaplanner.core.config.phase.PhaseConfig<C>

- Direct Known Subclasses:
    `ConstructionHeuristicPhaseConfig`, `CustomPhaseConfig`, `ExhaustiveSearchPhaseConfig`, `LocalSearchPhaseConfig`, `NoChangePhaseConfig`, `PartitionedSearchPhaseConfig`

      public abstract class PhaseConfig<C extends PhaseConfig>
      extends AbstractConfig<C>

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `PhaseConfig()` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract Phase` | `buildPhase​(int phaseIndex, HeuristicConfigPolicy solverConfigPolicy, BestSolutionRecaller bestSolutionRecaller, Termination solverTermination)` |
    `protected Termination` | `buildPhaseTermination​(HeuristicConfigPolicy configPolicy, Termination solverTermination)` |
    `TerminationConfig` | `getTerminationConfig()` |
    `C` | `inherit​(C inheritedConfig)` | Inherits each property of the `inheritedConfig` unless that property (or a semantic alternative) is defined by this instance (which overwrites the inherited behaviour).
    `void` | `setTerminationConfig​(TerminationConfig terminationConfig)` |
    `String` | `toString()` |

    - ### Methods inherited from class org.optaplanner.core.config.AbstractConfig

      `copyConfig, deduceEntityDescriptor, deduceVariableDescriptor, deduceVariableDescriptorList`

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

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

- - ### Constructor Detail

    - #### PhaseConfig

          public PhaseConfig()

  - ### Method Detail

    - #### getTerminationConfig

          public TerminationConfig getTerminationConfig()

    - #### setTerminationConfig

          public void setTerminationConfig​(TerminationConfig terminationConfig)

    - #### buildPhase

          public abstract Phase buildPhase​(int phaseIndex,
                                           HeuristicConfigPolicy solverConfigPolicy,
                                           BestSolutionRecaller bestSolutionRecaller,
                                           Termination solverTermination)

    - #### buildPhaseTermination

          protected Termination buildPhaseTermination​(HeuristicConfigPolicy configPolicy,
                                                      Termination solverTermination)

    - #### inherit

          public C inherit​(C inheritedConfig)

      Description copied from class: `AbstractConfig`
      Inherits each property of the `inheritedConfig` unless that property (or a semantic alternative) is defined by this instance (which overwrites the inherited behaviour).

      After the inheritance, if a property on this `AbstractConfig` composition is replaced, it should not affect the inherited composition instance.

      Specified by:
        `inherit` in class `AbstractConfig<C extends PhaseConfig>`
      Parameters:
        `inheritedConfig` - never null
      Returns:
        this

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `AbstractConfig<C extends PhaseConfig>`