Package org.optaplanner.core.config.constructionheuristic

## Class ConstructionHeuristicPhaseConfig

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

-     public class ConstructionHeuristicPhaseConfig
      extends PhaseConfig<ConstructionHeuristicPhaseConfig>

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected ConstructionHeuristicType` | `constructionHeuristicType` |
    `protected List<EntityPlacerConfig>` | `entityPlacerConfigList` |
    `protected EntitySorterManner` | `entitySorterManner` |
    `protected ConstructionHeuristicForagerConfig` | `foragerConfig` |
    `protected List<MoveSelectorConfig>` | `moveSelectorConfigList` | Simpler alternative for `entityPlacerConfigList`.
    `protected ValueSorterManner` | `valueSorterManner` |

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `ConstructionHeuristicPhase` | `buildPhase​(int phaseIndex, HeuristicConfigPolicy solverConfigPolicy, BestSolutionRecaller bestSolutionRecaller, Termination solverTermination)` |
    `ConstructionHeuristicPhaseConfig` | `copyConfig()` | Typically implemented by constructing a new instance and calling `AbstractConfig.inherit(AbstractConfig)` on it
    `ConstructionHeuristicType` | `getConstructionHeuristicType()` |
    `EntityPlacerConfig` | `getEntityPlacerConfig()` |
    `EntitySorterManner` | `getEntitySorterManner()` |
    `ConstructionHeuristicForagerConfig` | `getForagerConfig()` |
    `List<MoveSelectorConfig>` | `getMoveSelectorConfigList()` |
    `ValueSorterManner` | `getValueSorterManner()` |
    `ConstructionHeuristicPhaseConfig` | `inherit​(ConstructionHeuristicPhaseConfig 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` | `setConstructionHeuristicType​(ConstructionHeuristicType constructionHeuristicType)` |
    `void` | `setEntityPlacerConfig​(EntityPlacerConfig entityPlacerConfig)` |
    `void` | `setEntitySorterManner​(EntitySorterManner entitySorterManner)` |
    `void` | `setForagerConfig​(ConstructionHeuristicForagerConfig foragerConfig)` |
    `void` | `setMoveSelectorConfigList​(List<MoveSelectorConfig> moveSelectorConfigList)` |
    `void` | `setValueSorterManner​(ValueSorterManner valueSorterManner)` |
    `ConstructionHeuristicPhaseConfig` | `withConstructionHeuristicType​(ConstructionHeuristicType constructionHeuristicType)` |
    `ConstructionHeuristicPhaseConfig` | `withEntityPlacerConfig​(EntityPlacerConfig entityPlacerConfig)` |
    `ConstructionHeuristicPhaseConfig` | `withEntitySorterManner​(EntitySorterManner entitySorterManner)` |
    `ConstructionHeuristicPhaseConfig` | `withForagerConfig​(ConstructionHeuristicForagerConfig foragerConfig)` |
    `ConstructionHeuristicPhaseConfig` | `withMoveSelectorConfigList​(List<MoveSelectorConfig> moveSelectorConfigList)` |
    `ConstructionHeuristicPhaseConfig` | `withValueSorterManner​(ValueSorterManner valueSorterManner)` |

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

    - #### constructionHeuristicType

          protected ConstructionHeuristicType constructionHeuristicType

    - #### entitySorterManner

          protected EntitySorterManner entitySorterManner

    - #### valueSorterManner

          protected ValueSorterManner valueSorterManner

    - #### entityPlacerConfigList

          protected List<EntityPlacerConfig> entityPlacerConfigList

    - #### moveSelectorConfigList

          protected List<MoveSelectorConfig> moveSelectorConfigList

      Simpler alternative for `entityPlacerConfigList`.

    - #### foragerConfig

          protected ConstructionHeuristicForagerConfig foragerConfig

  - ### Constructor Detail

    - #### ConstructionHeuristicPhaseConfig

          public ConstructionHeuristicPhaseConfig()

  - ### Method Detail

    - #### getConstructionHeuristicType

          public ConstructionHeuristicType getConstructionHeuristicType()

    - #### setConstructionHeuristicType

          public void setConstructionHeuristicType​(ConstructionHeuristicType constructionHeuristicType)

    - #### getEntitySorterManner

          public EntitySorterManner getEntitySorterManner()

    - #### setEntitySorterManner

          public void setEntitySorterManner​(EntitySorterManner entitySorterManner)

    - #### getValueSorterManner

          public ValueSorterManner getValueSorterManner()

    - #### setValueSorterManner

          public void setValueSorterManner​(ValueSorterManner valueSorterManner)

    - #### getEntityPlacerConfig

          public EntityPlacerConfig getEntityPlacerConfig()

    - #### setEntityPlacerConfig

          public void setEntityPlacerConfig​(EntityPlacerConfig entityPlacerConfig)

    - #### getMoveSelectorConfigList

          public List<MoveSelectorConfig> getMoveSelectorConfigList()

    - #### setMoveSelectorConfigList

          public void setMoveSelectorConfigList​(List<MoveSelectorConfig> moveSelectorConfigList)

    - #### getForagerConfig

          public ConstructionHeuristicForagerConfig getForagerConfig()

    - #### setForagerConfig

          public void setForagerConfig​(ConstructionHeuristicForagerConfig foragerConfig)

    - #### withConstructionHeuristicType

          public ConstructionHeuristicPhaseConfig withConstructionHeuristicType​(ConstructionHeuristicType constructionHeuristicType)

    - #### withEntitySorterManner

          public ConstructionHeuristicPhaseConfig withEntitySorterManner​(EntitySorterManner entitySorterManner)

    - #### withValueSorterManner

          public ConstructionHeuristicPhaseConfig withValueSorterManner​(ValueSorterManner valueSorterManner)

    - #### withEntityPlacerConfig

          public ConstructionHeuristicPhaseConfig withEntityPlacerConfig​(EntityPlacerConfig entityPlacerConfig)

    - #### withMoveSelectorConfigList

          public ConstructionHeuristicPhaseConfig withMoveSelectorConfigList​(List<MoveSelectorConfig> moveSelectorConfigList)

    - #### withForagerConfig

          public ConstructionHeuristicPhaseConfig withForagerConfig​(ConstructionHeuristicForagerConfig foragerConfig)

    - #### buildPhase

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

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

    - #### inherit

          public ConstructionHeuristicPhaseConfig inherit​(ConstructionHeuristicPhaseConfig 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<ConstructionHeuristicPhaseConfig>`
      Parameters:
        `inheritedConfig` - never null
      Returns:
        this

    - #### copyConfig

          public ConstructionHeuristicPhaseConfig 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<ConstructionHeuristicPhaseConfig>`
      Returns:
        new instance