Package org.optaplanner.core.impl.heuristic.selector.move.composite

## Class CartesianProductMoveSelectorFactory<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_,​MoveSelectorConfig_>
      - - org.optaplanner.core.impl.heuristic.selector.move.composite.CartesianProductMoveSelectorFactory<Solution_>

- All Implemented Interfaces:
    `MoveSelectorFactory<Solution_>`

      public class CartesianProductMoveSelectorFactory<Solution_>
      extends AbstractMoveSelectorFactory<Solution_,​MoveSelectorConfig_>

- - ### Field Summary

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

      `config`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `CartesianProductMoveSelectorFactory​(CartesianProductMoveSelectorConfig moveSelectorConfig)` |

  - ### Method Summary

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

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

    - #### CartesianProductMoveSelectorFactory

          public CartesianProductMoveSelectorFactory​(CartesianProductMoveSelectorConfig moveSelectorConfig)

  - ### Method Detail

    - #### buildBaseMoveSelector

          public 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_,​CartesianProductMoveSelectorConfig>`
      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

    - #### buildInnerMoveSelectors

          protected List<MoveSelector<Solution_>> buildInnerMoveSelectors​(List<MoveSelectorConfig> innerMoveSelectorList,
                                                                          HeuristicConfigPolicy<Solution_> configPolicy,
                                                                          SelectionCacheType minimumCacheType,
                                                                          boolean randomSelection)