## Uses of Interface
org.optaplanner.core.impl.heuristic.selector.Selector

- Packages that use Selector
  Package | Description
  --- | ---
  org.optaplanner.core.impl.heuristic.selector |
  org.optaplanner.core.impl.heuristic.selector.common.decorator |
  org.optaplanner.core.impl.heuristic.selector.entity |
  org.optaplanner.core.impl.heuristic.selector.entity.decorator |
  org.optaplanner.core.impl.heuristic.selector.entity.mimic |
  org.optaplanner.core.impl.heuristic.selector.entity.nearby |
  org.optaplanner.core.impl.heuristic.selector.entity.pillar |
  org.optaplanner.core.impl.heuristic.selector.move |
  org.optaplanner.core.impl.heuristic.selector.move.composite |
  org.optaplanner.core.impl.heuristic.selector.move.decorator |
  org.optaplanner.core.impl.heuristic.selector.move.factory |
  org.optaplanner.core.impl.heuristic.selector.move.generic |
  org.optaplanner.core.impl.heuristic.selector.move.generic.chained |
  org.optaplanner.core.impl.heuristic.selector.value |
  org.optaplanner.core.impl.heuristic.selector.value.chained |
  org.optaplanner.core.impl.heuristic.selector.value.decorator |
  org.optaplanner.core.impl.heuristic.selector.value.mimic |
  org.optaplanner.core.impl.heuristic.selector.value.nearby |

- - ### Uses of Selector in org.optaplanner.core.impl.heuristic.selector

    Subinterfaces of Selector in org.optaplanner.core.impl.heuristic.selector
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `IterableSelector<Solution_,​T>` |
    `interface` | `ListIterableSelector<Solution_,​T>` |

    Classes in org.optaplanner.core.impl.heuristic.selector that implement Selector
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `AbstractSelector<Solution_>` | Abstract superclass for `Selector`.

  - ### Uses of Selector in org.optaplanner.core.impl.heuristic.selector.common.decorator

    Classes in org.optaplanner.core.impl.heuristic.selector.common.decorator with type parameters of type Selector
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `FixedSelectorProbabilityWeightFactory<Solution_,​Selector_ extends Selector>` |

  - ### Uses of Selector in org.optaplanner.core.impl.heuristic.selector.entity

    Subinterfaces of Selector in org.optaplanner.core.impl.heuristic.selector.entity
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `EntitySelector<Solution_>` | Selects instances of 1 `PlanningEntity` annotated class.

    Classes in org.optaplanner.core.impl.heuristic.selector.entity that implement Selector
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `AbstractEntitySelector<Solution_>` | Abstract superclass for `EntitySelector`.
    `class` | `FromSolutionEntitySelector<Solution_>` | This is the common `EntitySelector` implementation.

  - ### Uses of Selector in org.optaplanner.core.impl.heuristic.selector.entity.decorator

    Classes in org.optaplanner.core.impl.heuristic.selector.entity.decorator that implement Selector
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `AbstractCachingEntitySelector<Solution_>` |
    `class` | `CachingEntitySelector<Solution_>` | A `EntitySelector` that caches the result of its child `EntitySelector`.
    `class` | `FilteringEntitySelector<Solution_>` |
    `class` | `ProbabilityEntitySelector<Solution_>` |
    `class` | `SelectedCountLimitEntitySelector<Solution_>` |
    `class` | `ShufflingEntitySelector<Solution_>` |
    `class` | `SortingEntitySelector<Solution_>` |

  - ### Uses of Selector in org.optaplanner.core.impl.heuristic.selector.entity.mimic

    Classes in org.optaplanner.core.impl.heuristic.selector.entity.mimic that implement Selector
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `MimicRecordingEntitySelector<Solution_>` |
    `class` | `MimicReplayingEntitySelector<Solution_>` |

  - ### Uses of Selector in org.optaplanner.core.impl.heuristic.selector.entity.nearby

    Classes in org.optaplanner.core.impl.heuristic.selector.entity.nearby that implement Selector
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `NearEntityNearbyEntitySelector<Solution_>` |

  - ### Uses of Selector in org.optaplanner.core.impl.heuristic.selector.entity.pillar

    Subinterfaces of Selector in org.optaplanner.core.impl.heuristic.selector.entity.pillar
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `PillarSelector<Solution_>` | A pillar is a `List` of entities that have the same planning value for each (or a subset) of their planning values.

    Classes in org.optaplanner.core.impl.heuristic.selector.entity.pillar that implement Selector
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `DefaultPillarSelector<Solution_>` |

  - ### Uses of Selector in org.optaplanner.core.impl.heuristic.selector.move

    Subinterfaces of Selector in org.optaplanner.core.impl.heuristic.selector.move
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `MoveSelector<Solution_>` | Generates `Move`s.

    Classes in org.optaplanner.core.impl.heuristic.selector.move that implement Selector
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `AbstractMoveSelector<Solution_>` | Abstract superclass for `MoveSelector`.

  - ### Uses of Selector in org.optaplanner.core.impl.heuristic.selector.move.composite

    Classes in org.optaplanner.core.impl.heuristic.selector.move.composite that implement Selector
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `CartesianProductMoveSelector<Solution_>` | A `CompositeMoveSelector` that Cartesian products 2 or more `MoveSelector`s.
    `class` | `CompositeMoveSelector<Solution_>` | Abstract superclass for every composite `MoveSelector`.
    `class` | `UnionMoveSelector<Solution_>` | A `CompositeMoveSelector` that unions 2 or more `MoveSelector`s.

  - ### Uses of Selector in org.optaplanner.core.impl.heuristic.selector.move.decorator

    Classes in org.optaplanner.core.impl.heuristic.selector.move.decorator that implement Selector
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `AbstractCachingMoveSelector<Solution_>` |
    `class` | `CachingMoveSelector<Solution_>` | A `MoveSelector` that caches the result of its child `MoveSelector`.
    `class` | `FilteringMoveSelector<Solution_>` |
    `class` | `ProbabilityMoveSelector<Solution_>` |
    `class` | `SelectedCountLimitMoveSelector<Solution_>` |
    `class` | `ShufflingMoveSelector<Solution_>` |
    `class` | `SortingMoveSelector<Solution_>` |

  - ### Uses of Selector in org.optaplanner.core.impl.heuristic.selector.move.factory

    Classes in org.optaplanner.core.impl.heuristic.selector.move.factory that implement Selector
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `MoveIteratorFactoryToMoveSelectorBridge<Solution_>` | Bridges a `MoveIteratorFactory` to a `MoveSelector`.
    `class` | `MoveListFactoryToMoveSelectorBridge<Solution_>` | Bridges a `MoveListFactory` to a `MoveSelector`.

  - ### Uses of Selector in org.optaplanner.core.impl.heuristic.selector.move.generic

    Classes in org.optaplanner.core.impl.heuristic.selector.move.generic that implement Selector
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `ChangeMoveSelector<Solution_>` |
    `class` | `GenericMoveSelector<Solution_>` | Abstract superclass for every generic `MoveSelector`.
    `class` | `PillarChangeMoveSelector<Solution_>` |
    `class` | `PillarSwapMoveSelector<Solution_>` |
    `class` | `SwapMoveSelector<Solution_>` |

  - ### Uses of Selector in org.optaplanner.core.impl.heuristic.selector.move.generic.chained

    Classes in org.optaplanner.core.impl.heuristic.selector.move.generic.chained that implement Selector
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `KOptMoveSelector<Solution_>` |
    `class` | `SubChainChangeMoveSelector<Solution_>` |
    `class` | `SubChainSwapMoveSelector<Solution_>` |
    `class` | `TailChainSwapMoveSelector<Solution_>` | Also known as a 2-opt move selector.

  - ### Uses of Selector in org.optaplanner.core.impl.heuristic.selector.value

    Subinterfaces of Selector in org.optaplanner.core.impl.heuristic.selector.value
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `EntityIndependentValueSelector<Solution_>` |
    `interface` | `ValueSelector<Solution_>` | Selects values from the `ValueRangeProvider` for a `PlanningVariable` annotated property.

    Classes in org.optaplanner.core.impl.heuristic.selector.value that implement Selector
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `AbstractValueSelector<Solution_>` | Abstract superclass for `ValueSelector`.
    `class` | `FromEntityPropertyValueSelector<Solution_>` | This is the common `ValueSelector` implementation.
    `class` | `FromSolutionPropertyValueSelector<Solution_>` | This is the common `ValueSelector` implementation.

  - ### Uses of Selector in org.optaplanner.core.impl.heuristic.selector.value.chained

    Subinterfaces of Selector in org.optaplanner.core.impl.heuristic.selector.value.chained
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `SubChainSelector<Solution_>` |

    Classes in org.optaplanner.core.impl.heuristic.selector.value.chained that implement Selector
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `DefaultSubChainSelector<Solution_>` | This is the common `SubChainSelector` implementation.

  - ### Uses of Selector in org.optaplanner.core.impl.heuristic.selector.value.decorator

    Classes in org.optaplanner.core.impl.heuristic.selector.value.decorator that implement Selector
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `AbstractCachingValueSelector<Solution_>` |
    `class` | `CachingValueSelector<Solution_>` | A `ValueSelector` that caches the result of its child `ValueSelector`.
    `class` | `DowncastingValueSelector<Solution_>` |
    `class` | `EntityDependentSortingValueSelector<Solution_>` |
    `class` | `EntityIndependentFilteringValueSelector<Solution_>` |
    `class` | `EntityIndependentInitializedValueSelector<Solution_>` |
    `class` | `FilteringValueSelector<Solution_>` |
    `class` | `InitializedValueSelector<Solution_>` | Prevents creating chains without an anchor.
    `class` | `ProbabilityValueSelector<Solution_>` |
    `class` | `ReinitializeVariableValueSelector<Solution_>` | Prevents reassigning of already initialized variables during Construction Heuristics and Exhaustive Search.
    `class` | `SelectedCountLimitValueSelector<Solution_>` |
    `class` | `ShufflingValueSelector<Solution_>` |
    `class` | `SortingValueSelector<Solution_>` |

  - ### Uses of Selector in org.optaplanner.core.impl.heuristic.selector.value.mimic

    Classes in org.optaplanner.core.impl.heuristic.selector.value.mimic that implement Selector
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `MimicRecordingValueSelector<Solution_>` |
    `class` | `MimicReplayingValueSelector<Solution_>` |

  - ### Uses of Selector in org.optaplanner.core.impl.heuristic.selector.value.nearby

    Classes in org.optaplanner.core.impl.heuristic.selector.value.nearby that implement Selector
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `NearEntityNearbyValueSelector<Solution_>` |