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

## Class CustomPhaseConfig

- java.lang.Object
- - org.optaplanner.core.config.AbstractConfig<Config_>
  - - 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` |
    `static String` | `XML_ELEMENT_NAME` |

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `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()` |
    `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)` |
    `CustomPhaseConfig` | `withCustomPhaseCommandClassList​(List<Class<? extends CustomPhaseCommand>> customPhaseCommandClassList)` |
    `CustomPhaseConfig` | `withCustomPhaseCommandList​(List<CustomPhaseCommand> customPhaseCommandList)` |
    `<Solution_> CustomPhaseConfig` | `withCustomPhaseCommands​(CustomPhaseCommand<Solution_>... customPhaseCommands)` |
    `void` | `withCustomProperties​(Map<String,​String> customProperties)` |

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

      `getTerminationConfig, setTerminationConfig, toString`

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

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

- - ### Field Detail

    - #### XML_ELEMENT_NAME

          public static final String XML_ELEMENT_NAME

      See Also:
        Constant Field Values

    - #### customPhaseCommandClassList

          protected List<Class<? extends CustomPhaseCommand>> customPhaseCommandClassList

    - #### customProperties

          protected Map<String,​String> customProperties

    - #### customPhaseCommandList

          protected List<CustomPhaseCommand> customPhaseCommandList

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

    - #### 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 <Solution_> CustomPhaseConfig withCustomPhaseCommands​(CustomPhaseCommand<Solution_>... customPhaseCommands)

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