## Uses of Interface
org.optaplanner.core.impl.heuristic.selector.value.ValueSelector

- Packages that use ValueSelector
  Package | Description
  --- | ---
  org.optaplanner.core.impl.heuristic.selector.common.iterator |
  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.decorator |
  org.optaplanner.core.impl.heuristic.selector.value.mimic |
  org.optaplanner.core.impl.heuristic.selector.value.nearby |

- - ### Uses of ValueSelector in org.optaplanner.core.impl.heuristic.selector.common.iterator

    Constructors in org.optaplanner.core.impl.heuristic.selector.common.iterator with parameters of type ValueSelector
    Constructor | Description
    --- | ---
    `AbstractOriginalChangeIterator​(EntitySelector<Solution_> entitySelector, ValueSelector<Solution_> valueSelector)` |
    `AbstractRandomChangeIterator​(EntitySelector<Solution_> entitySelector, ValueSelector<Solution_> valueSelector)` |

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

    Fields in org.optaplanner.core.impl.heuristic.selector.move.generic declared as ValueSelector
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected ValueSelector<Solution_>` | ChangeMoveSelector.`valueSelector` |
    `protected ValueSelector<Solution_>` | PillarChangeMoveSelector.`valueSelector` |

    Constructors in org.optaplanner.core.impl.heuristic.selector.move.generic with parameters of type ValueSelector
    Constructor | Description
    --- | ---
    `ChangeMoveSelector​(EntitySelector<Solution_> entitySelector, ValueSelector<Solution_> valueSelector, boolean randomSelection)` |
    `PillarChangeMoveSelector​(PillarSelector<Solution_> pillarSelector, ValueSelector<Solution_> valueSelector, boolean randomSelection)` |

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

    Fields in org.optaplanner.core.impl.heuristic.selector.move.generic.chained declared as ValueSelector
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected ValueSelector<Solution_>` | TailChainSwapMoveSelector.`valueSelector` |
    `protected ValueSelector<Solution_>[]` | KOptMoveSelector.`valueSelectors` |

    Constructors in org.optaplanner.core.impl.heuristic.selector.move.generic.chained with parameters of type ValueSelector
    Constructor | Description
    --- | ---
    `KOptMoveSelector​(EntitySelector<Solution_> entitySelector, ValueSelector<Solution_>[] valueSelectors, boolean randomSelection)` |
    `TailChainSwapMoveSelector​(EntitySelector<Solution_> entitySelector, ValueSelector<Solution_> valueSelector, boolean randomSelection)` |

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

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

    Classes in org.optaplanner.core.impl.heuristic.selector.value that implement ValueSelector
    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.

    Methods in org.optaplanner.core.impl.heuristic.selector.value that return ValueSelector
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected ValueSelector<Solution_>` | ValueSelectorFactory.`applyFiltering​(ValueSelector<Solution_> valueSelector)` |
    `protected ValueSelector<Solution_>` | ValueSelectorFactory.`applyInitializedChainedValueFilter​(HeuristicConfigPolicy<Solution_> configPolicy, GenuineVariableDescriptor<Solution_> variableDescriptor, ValueSelector<Solution_> valueSelector)` |
    `protected ValueSelector<Solution_>` | ValueSelectorFactory.`applyProbability​(SelectionCacheType resolvedCacheType, SelectionOrder resolvedSelectionOrder, ValueSelector<Solution_> valueSelector)` |
    `protected ValueSelector<Solution_>` | ValueSelectorFactory.`applySorting​(SelectionCacheType resolvedCacheType, SelectionOrder resolvedSelectionOrder, ValueSelector<Solution_> valueSelector)` |
    `protected ValueSelector<Solution_>` | ValueSelectorFactory.`buildMimicReplaying​(HeuristicConfigPolicy<Solution_> configPolicy)` |
    `ValueSelector<Solution_>` | ValueSelectorFactory.`buildValueSelector​(HeuristicConfigPolicy<Solution_> configPolicy, EntityDescriptor<Solution_> entityDescriptor, SelectionCacheType minimumCacheType, SelectionOrder inheritedSelectionOrder)` |
    `ValueSelector<Solution_>` | ValueSelectorFactory.`buildValueSelector​(HeuristicConfigPolicy<Solution_> configPolicy, EntityDescriptor<Solution_> entityDescriptor, SelectionCacheType minimumCacheType, SelectionOrder inheritedSelectionOrder, boolean applyReinitializeVariableFiltering)` |

    Methods in org.optaplanner.core.impl.heuristic.selector.value with parameters of type ValueSelector
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected ValueSelector<Solution_>` | ValueSelectorFactory.`applyFiltering​(ValueSelector<Solution_> valueSelector)` |
    `protected ValueSelector<Solution_>` | ValueSelectorFactory.`applyInitializedChainedValueFilter​(HeuristicConfigPolicy<Solution_> configPolicy, GenuineVariableDescriptor<Solution_> variableDescriptor, ValueSelector<Solution_> valueSelector)` |
    `protected ValueSelector<Solution_>` | ValueSelectorFactory.`applyProbability​(SelectionCacheType resolvedCacheType, SelectionOrder resolvedSelectionOrder, ValueSelector<Solution_> valueSelector)` |
    `protected ValueSelector<Solution_>` | ValueSelectorFactory.`applySorting​(SelectionCacheType resolvedCacheType, SelectionOrder resolvedSelectionOrder, ValueSelector<Solution_> valueSelector)` |

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

    Classes in org.optaplanner.core.impl.heuristic.selector.value.decorator that implement ValueSelector
    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_>` |

    Fields in org.optaplanner.core.impl.heuristic.selector.value.decorator declared as ValueSelector
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected ValueSelector<Solution_>` | DowncastingValueSelector.`childValueSelector` |
    `protected ValueSelector<Solution_>` | EntityDependentSortingValueSelector.`childValueSelector` |
    `protected ValueSelector<Solution_>` | FilteringValueSelector.`childValueSelector` |
    `protected ValueSelector<Solution_>` | InitializedValueSelector.`childValueSelector` |
    `protected ValueSelector<Solution_>` | ReinitializeVariableValueSelector.`childValueSelector` |
    `protected ValueSelector<Solution_>` | SelectedCountLimitValueSelector.`childValueSelector` |

    Methods in org.optaplanner.core.impl.heuristic.selector.value.decorator that return ValueSelector
    Modifier and Type | Method | Description
    --- | --- | ---
    `static <Solution_> ValueSelector<Solution_>` | FilteringValueSelector.`create​(ValueSelector<Solution_> valueSelector, List<SelectionFilter<Solution_,​Object>> filterList)` |
    `static <Solution_> ValueSelector<Solution_>` | InitializedValueSelector.`create​(ValueSelector<Solution_> valueSelector)` |
    `ValueSelector<Solution_>` | AbstractCachingValueSelector.`getChildValueSelector()` |
    `ValueSelector<Solution_>` | DowncastingValueSelector.`getChildValueSelector()` |
    `ValueSelector<Solution_>` | EntityDependentSortingValueSelector.`getChildValueSelector()` |

    Methods in org.optaplanner.core.impl.heuristic.selector.value.decorator with parameters of type ValueSelector
    Modifier and Type | Method | Description
    --- | --- | ---
    `static <Solution_> ValueSelector<Solution_>` | FilteringValueSelector.`create​(ValueSelector<Solution_> valueSelector, List<SelectionFilter<Solution_,​Object>> filterList)` |
    `static <Solution_> ValueSelector<Solution_>` | InitializedValueSelector.`create​(ValueSelector<Solution_> valueSelector)` |

    Constructors in org.optaplanner.core.impl.heuristic.selector.value.decorator with parameters of type ValueSelector
    Constructor | Description
    --- | ---
    `DowncastingValueSelector​(ValueSelector<Solution_> childValueSelector, Class<?> downcastEntityClass)` |
    `EntityDependentSortingValueSelector​(ValueSelector<Solution_> childValueSelector, SelectionCacheType cacheType, SelectionSorter<Solution_,​Object> sorter)` |
    `FilteringValueSelector​(ValueSelector<Solution_> childValueSelector, List<SelectionFilter<Solution_,​Object>> filterList)` |
    `InitializedValueSelector​(ValueSelector<Solution_> childValueSelector)` |
    `ReinitializeVariableValueSelector​(ValueSelector<Solution_> childValueSelector)` |
    `SelectedCountLimitValueSelector​(ValueSelector<Solution_> childValueSelector, long selectedCountLimit)` | Unlike most of the other `ValueSelector` decorations, this one works for an entity dependent `ValueSelector` too.

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

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

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

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

    Fields in org.optaplanner.core.impl.heuristic.selector.value.nearby declared as ValueSelector
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected ValueSelector<Solution_>` | NearEntityNearbyValueSelector.`childValueSelector` |

    Constructors in org.optaplanner.core.impl.heuristic.selector.value.nearby with parameters of type ValueSelector
    Constructor | Description
    --- | ---
    `NearEntityNearbyValueSelector​(ValueSelector<Solution_> childValueSelector, EntitySelector<Solution_> originEntitySelector, NearbyDistanceMeter<?,​?> nearbyDistanceMeter, NearbyRandom nearbyRandom, boolean randomSelection)` |