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

## Class KOptMoveSelectorFactory<Solution_>

- java.lang.Object
- - org.optaplanner.core.impl.AbstractFromConfigFactory<Solution_,​SelectorConfig_>
  - - org.optaplanner.core.impl.heuristic.selector.AbstractSelectorFactory<Solution_,​MoveSelectorConfig_>
    - - org.optaplanner.core.impl.heuristic.selector.move.AbstractMoveSelectorFactory<Solution_,​KOptMoveSelectorConfig>
      - - org.optaplanner.core.impl.heuristic.selector.move.generic.chained.KOptMoveSelectorFactory<Solution_>

- All Implemented Interfaces:
    `MoveSelectorFactory<Solution_>`

      public class KOptMoveSelectorFactory<Solution_>
      extends AbstractMoveSelectorFactory<Solution_,​KOptMoveSelectorConfig>

- - ### Field Summary

    - ### Fields inherited from class org.optaplanner.core.impl.AbstractFromConfigFactory

      `config`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `KOptMoveSelectorFactory​(KOptMoveSelectorConfig moveSelectorConfig)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected MoveSelector<Solution_>` | `buildBaseMoveSelector​(HeuristicConfigPolicy<Solution_> configPolicy, SelectionCacheType minimumCacheType, boolean randomSelection)` | Builds a base `MoveSelector` without any advanced capabilities (filtering, sorting, ...).

    - ### Methods inherited from class org.optaplanner.core.impl.heuristic.selector.move.AbstractMoveSelectorFactory

      `applySorting, buildMoveSelector, buildUnfoldedMoveSelectorConfig, determineBaseRandomSelection, isBaseInherentlyCached, validateSorting`

    - ### Methods inherited from class org.optaplanner.core.impl.heuristic.selector.AbstractSelectorFactory

      `validateCacheTypeVersusSelectionOrder`

    - ### Methods inherited from class org.optaplanner.core.impl.AbstractFromConfigFactory

      `deduceEntityDescriptor, deduceEntityDescriptor, deduceVariableDescriptor, deduceVariableDescriptor, deduceVariableDescriptorList`

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

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

- - ### Constructor Detail

    - #### KOptMoveSelectorFactory

          public KOptMoveSelectorFactory​(KOptMoveSelectorConfig moveSelectorConfig)

  - ### Method Detail

    - #### buildBaseMoveSelector

          protected MoveSelector<Solution_> buildBaseMoveSelector​(HeuristicConfigPolicy<Solution_> configPolicy,
                                                                  SelectionCacheType minimumCacheType,
                                                                  boolean randomSelection)

      Description copied from class: `AbstractMoveSelectorFactory`
      Builds a base `MoveSelector` without any advanced capabilities (filtering, sorting, ...).
      Specified by:
        `buildBaseMoveSelector` in class `AbstractMoveSelectorFactory<Solution_,​KOptMoveSelectorConfig>`
      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