Package org.optaplanner.core.config.phase.custom

## Class CustomPhaseConfig

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

-     public class CustomPhaseConfig
      extends PhaseConfig<CustomPhaseConfig>

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected List<Class<? extends CustomPhaseCommand>>` | `customPhaseCommandClassList` |
    `protected List<CustomPhaseCommand<?>>` | `customPhaseCommandList` |
    `protected Map<String,​String>` | `customProperties` |
    `protected Boolean` | `forceUpdateBestSolution` | Deprecated. Use `Solver.addProblemFactChange(ProblemFactChange)` instead.

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `CustomPhase` | `buildPhase​(int phaseIndex, HeuristicConfigPolicy solverConfigPolicy, BestSolutionRecaller bestSolutionRecaller, Termination solverTermination)` |
    `CustomPhaseConfig` | `copyConfig()` | Typically implemented by constructing a new instance and calling `AbstractConfig.inherit(AbstractConfig)` on it
    `List<Class<? extends CustomPhaseCommand>>` | `getCustomPhaseCommandClassList()` |
    `List<CustomPhaseCommand<?>>` | `getCustomPhaseCommandList()` |
    `Map<String,​String>` | `getCustomProperties()` |
    `Boolean` | `getForceUpdateBestSolution()` | Deprecated.
    `CustomPhaseConfig` | `inherit​(CustomPhaseConfig 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` | `setCustomPhaseCommandClassList​(List<Class<? extends CustomPhaseCommand>> customPhaseCommandClassList)` |
    `void` | `setCustomPhaseCommandList​(List<CustomPhaseCommand<?>> customPhaseCommandList)` |
    `void` | `setCustomProperties​(Map<String,​String> customProperties)` |
    `void` | `setForceUpdateBestSolution​(Boolean forceUpdateBestSolution)` | Deprecated.
    `CustomPhaseConfig` | `withCustomPhaseCommandClassList​(List<Class<? extends CustomPhaseCommand>> customPhaseCommandClassList)` |
    `CustomPhaseConfig` | `withCustomPhaseCommandList​(List<CustomPhaseCommand<?>> customPhaseCommandList)` |
    `CustomPhaseConfig` | `withCustomPhaseCommands​(CustomPhaseCommand<?>... customPhaseCommands)` |
    `void` | `withCustomProperties​(Map<String,​String> customProperties)` |

    - ### Methods inherited from class org.optaplanner.core.config.phase.PhaseConfig

      `buildPhaseTermination, getTerminationConfig, setTerminationConfig, toString`

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

      `deduceEntityDescriptor, deduceVariableDescriptor, deduceVariableDescriptorList`

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

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

- - ### Field Detail

    - #### customPhaseCommandClassList

          protected List<Class<? extends CustomPhaseCommand>> customPhaseCommandClassList

    - #### customProperties

          @XStreamConverter(KeyAsElementMapConverter.class)
          protected Map<String,​String> customProperties

    - #### customPhaseCommandList

          protected List<CustomPhaseCommand<?>> customPhaseCommandList

    - #### forceUpdateBestSolution

          @Deprecated
          protected Boolean forceUpdateBestSolution

      Deprecated.
      Use `Solver.addProblemFactChange(ProblemFactChange)` instead.

  - ### Constructor Detail

    - #### CustomPhaseConfig

          public CustomPhaseConfig()

  - ### Method Detail

    - #### getCustomPhaseCommandClassList

          public List<Class<? extends CustomPhaseCommand>> getCustomPhaseCommandClassList()

    - #### setCustomPhaseCommandClassList

          public void setCustomPhaseCommandClassList​(List<Class<? extends CustomPhaseCommand>> customPhaseCommandClassList)

    - #### getCustomProperties

          public Map<String,​String> getCustomProperties()

    - #### setCustomProperties

          public void setCustomProperties​(Map<String,​String> customProperties)

    - #### getCustomPhaseCommandList

          public List<CustomPhaseCommand<?>> getCustomPhaseCommandList()

    - #### setCustomPhaseCommandList

          public void setCustomPhaseCommandList​(List<CustomPhaseCommand<?>> customPhaseCommandList)

    - #### getForceUpdateBestSolution

          @Deprecated
          public Boolean getForceUpdateBestSolution()

      Deprecated.

    - #### setForceUpdateBestSolution

          @Deprecated
          public void setForceUpdateBestSolution​(Boolean forceUpdateBestSolution)

      Deprecated.

    - #### withCustomPhaseCommandClassList

          public CustomPhaseConfig withCustomPhaseCommandClassList​(List<Class<? extends CustomPhaseCommand>> customPhaseCommandClassList)

    - #### withCustomProperties

          public void withCustomProperties​(Map<String,​String> customProperties)

    - #### withCustomPhaseCommandList

          public CustomPhaseConfig withCustomPhaseCommandList​(List<CustomPhaseCommand<?>> customPhaseCommandList)

    - #### withCustomPhaseCommands

          public CustomPhaseConfig withCustomPhaseCommands​(CustomPhaseCommand<?>... customPhaseCommands)

    - #### buildPhase

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

      Specified by:
        `buildPhase` in class `PhaseConfig<CustomPhaseConfig>`

    - #### inherit

          public CustomPhaseConfig inherit​(CustomPhaseConfig 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.

      Overrides:
        `inherit` in class `PhaseConfig<CustomPhaseConfig>`
      Parameters:
        `inheritedConfig` - never null
      Returns:
        this

    - #### copyConfig

          public CustomPhaseConfig copyConfig()

      Description copied from class: `AbstractConfig`
      Typically implemented by constructing a new instance and calling `AbstractConfig.inherit(AbstractConfig)` on it
      Specified by:
        `copyConfig` in class `AbstractConfig<CustomPhaseConfig>`
      Returns:
        new instance