Package org.optaplanner.core.config.heuristic.selector.move.generic.chained

## Class SubChainSwapMoveSelectorConfig

- java.lang.Object
- - org.optaplanner.core.config.AbstractConfig<C>
  - - org.optaplanner.core.config.heuristic.selector.SelectorConfig<C>
    - - org.optaplanner.core.config.heuristic.selector.move.MoveSelectorConfig<SubChainSwapMoveSelectorConfig>
      - - org.optaplanner.core.config.heuristic.selector.move.generic.chained.SubChainSwapMoveSelectorConfig

-     public class SubChainSwapMoveSelectorConfig
      extends MoveSelectorConfig<SubChainSwapMoveSelectorConfig>

- - ### Field Summary

    - ### Fields inherited from class org.optaplanner.core.config.heuristic.selector.move.MoveSelectorConfig

      `cacheType, filterClassList, probabilityWeightFactoryClass, selectedCountLimit, selectionOrder, sorterClass, sorterComparatorClass, sorterOrder, sorterWeightFactoryClass`

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `MoveSelector` | `buildBaseMoveSelector​(HeuristicConfigPolicy configPolicy, SelectionCacheType minimumCacheType, boolean randomSelection)` |
    `SubChainSwapMoveSelectorConfig` | `copyConfig()` | Typically implemented by constructing a new instance and calling `AbstractConfig.inherit(AbstractConfig)` on it
    `Class<?>` | `getEntityClass()` |
    `SubChainSelectorConfig` | `getSecondarySubChainSelectorConfig()` |
    `Boolean` | `getSelectReversingMoveToo()` |
    `SubChainSelectorConfig` | `getSubChainSelectorConfig()` |
    `SubChainSwapMoveSelectorConfig` | `inherit​(SubChainSwapMoveSelectorConfig 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` | `setEntityClass​(Class<?> entityClass)` |
    `void` | `setSecondarySubChainSelectorConfig​(SubChainSelectorConfig secondarySubChainSelectorConfig)` |
    `void` | `setSelectReversingMoveToo​(Boolean selectReversingMoveToo)` |
    `void` | `setSubChainSelectorConfig​(SubChainSelectorConfig subChainSelectorConfig)` |
    `String` | `toString()` |

    - ### Methods inherited from class org.optaplanner.core.config.heuristic.selector.move.MoveSelectorConfig

      `buildMoveSelector, buildUnfoldedMoveSelectorConfig, determineBaseRandomSelection, extractLeafMoveSelectorConfigsIntoList, getCacheType, getFilterClassList, getFixedProbabilityWeight, getProbabilityWeightFactoryClass, getSelectedCountLimit, getSelectionOrder, getSorterClass, getSorterComparatorClass, getSorterOrder, getSorterWeightFactoryClass, inheritFolded, isBaseInherentlyCached, setCacheType, setFilterClassList, setFixedProbabilityWeight, setProbabilityWeightFactoryClass, setSelectedCountLimit, setSelectionOrder, setSorterClass, setSorterComparatorClass, setSorterOrder, setSorterWeightFactoryClass, withCacheType, withFilterClassList, withFixedProbabilityWeight, withProbabilityWeightFactoryClass, withSelectedCountLimit, withSelectionOrder, withSorterClass, withSorterComparatorClass, withSorterOrder, withSorterWeightFactoryClass`

    - ### Methods inherited from class org.optaplanner.core.config.heuristic.selector.SelectorConfig

      `validateCacheTypeVersusSelectionOrder`

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

- - ### Constructor Detail

    - #### SubChainSwapMoveSelectorConfig

          public SubChainSwapMoveSelectorConfig()

  - ### Method Detail

    - #### getEntityClass

          public Class<?> getEntityClass()

    - #### setEntityClass

          public void setEntityClass​(Class<?> entityClass)

    - #### getSubChainSelectorConfig

          public SubChainSelectorConfig getSubChainSelectorConfig()

    - #### setSubChainSelectorConfig

          public void setSubChainSelectorConfig​(SubChainSelectorConfig subChainSelectorConfig)

    - #### getSecondarySubChainSelectorConfig

          public SubChainSelectorConfig getSecondarySubChainSelectorConfig()

    - #### setSecondarySubChainSelectorConfig

          public void setSecondarySubChainSelectorConfig​(SubChainSelectorConfig secondarySubChainSelectorConfig)

    - #### getSelectReversingMoveToo

          public Boolean getSelectReversingMoveToo()

    - #### setSelectReversingMoveToo

          public void setSelectReversingMoveToo​(Boolean selectReversingMoveToo)

    - #### buildBaseMoveSelector

          public MoveSelector buildBaseMoveSelector​(HeuristicConfigPolicy configPolicy,
                                                    SelectionCacheType minimumCacheType,
                                                    boolean randomSelection)

      Specified by:
        `buildBaseMoveSelector` in class `MoveSelectorConfig<SubChainSwapMoveSelectorConfig>`
      Parameters:
        `configPolicy` - never null
        `minimumCacheType` - never null, If caching is used (different from `SelectionCacheType.JUST_IN_TIME`), then it should be at least this `SelectionCacheType` because an ancestor already uses such caching and less would be pointless.
        `randomSelection` - true is equivalent to `SelectionOrder.RANDOM`, false is equivalent to `SelectionOrder.ORIGINAL`
      Returns:
        never null

    - #### inherit

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

    - #### copyConfig

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

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `AbstractConfig<SubChainSwapMoveSelectorConfig>`