# Hierarchy For Package org.optaplanner.core.impl.heuristic.selector.value.decorator

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - org.optaplanner.core.impl.heuristic.selector.AbstractSelector<Solution_> (implements org.optaplanner.core.impl.heuristic.selector.Selector<Solution_>)
    - org.optaplanner.core.impl.heuristic.selector.value.AbstractValueSelector<Solution_> (implements org.optaplanner.core.impl.heuristic.selector.value.ValueSelector<Solution_>)
      - org.optaplanner.core.impl.heuristic.selector.value.decorator.AbstractCachingValueSelector<Solution_> (implements org.optaplanner.core.impl.heuristic.selector.common.SelectionCacheLifecycleListener<Solution_>)
        - org.optaplanner.core.impl.heuristic.selector.value.decorator.CachingValueSelector<Solution_> (implements org.optaplanner.core.impl.heuristic.selector.value.EntityIndependentValueSelector<Solution_>)
        - org.optaplanner.core.impl.heuristic.selector.value.decorator.ShufflingValueSelector<Solution_> (implements org.optaplanner.core.impl.heuristic.selector.value.EntityIndependentValueSelector<Solution_>)
        - org.optaplanner.core.impl.heuristic.selector.value.decorator.SortingValueSelector<Solution_> (implements org.optaplanner.core.impl.heuristic.selector.value.EntityIndependentValueSelector<Solution_>)
      - org.optaplanner.core.impl.heuristic.selector.value.decorator.DowncastingValueSelector<Solution_>
      - org.optaplanner.core.impl.heuristic.selector.value.decorator.EntityDependentSortingValueSelector<Solution_>
      - org.optaplanner.core.impl.heuristic.selector.value.decorator.FilteringValueSelector<Solution_>
        - org.optaplanner.core.impl.heuristic.selector.value.decorator.EntityIndependentFilteringValueSelector<Solution_> (implements org.optaplanner.core.impl.heuristic.selector.value.EntityIndependentValueSelector<Solution_>)
      - org.optaplanner.core.impl.heuristic.selector.value.decorator.InitializedValueSelector<Solution_>
        - org.optaplanner.core.impl.heuristic.selector.value.decorator.EntityIndependentInitializedValueSelector<Solution_> (implements org.optaplanner.core.impl.heuristic.selector.value.EntityIndependentValueSelector<Solution_>)
      - org.optaplanner.core.impl.heuristic.selector.value.decorator.ProbabilityValueSelector<Solution_> (implements org.optaplanner.core.impl.heuristic.selector.value.EntityIndependentValueSelector<Solution_>, org.optaplanner.core.impl.heuristic.selector.common.SelectionCacheLifecycleListener<Solution_>)
      - org.optaplanner.core.impl.heuristic.selector.value.decorator.ReinitializeVariableValueSelector<Solution_>
      - org.optaplanner.core.impl.heuristic.selector.value.decorator.SelectedCountLimitValueSelector<Solution_> (implements org.optaplanner.core.impl.heuristic.selector.value.EntityIndependentValueSelector<Solution_>)
  - org.optaplanner.core.impl.heuristic.selector.value.decorator.MovableChainedTrailingValueFilter<Solution_> (implements org.optaplanner.core.impl.heuristic.selector.common.decorator.SelectionFilter<Solution_,​T>)
  - org.optaplanner.core.impl.heuristic.selector.common.iterator.SelectionIterator<S> (implements java.util.Iterator<E>)
    - org.optaplanner.core.impl.heuristic.selector.common.iterator.UpcomingSelectionIterator<S>
      - org.optaplanner.core.impl.heuristic.selector.value.decorator.FilteringValueSelector.JustInTimeFilteringValueIterator
      - org.optaplanner.core.impl.heuristic.selector.value.decorator.InitializedValueSelector.JustInTimeInitializedValueIterator