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

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.chained.DefaultSubChainSelector<Solution_> (implements org.optaplanner.core.impl.heuristic.selector.common.SelectionCacheLifecycleListener<Solution_>, org.optaplanner.core.impl.heuristic.selector.value.chained.SubChainSelector<Solution_>)
  - org.optaplanner.core.impl.heuristic.selector.value.chained.SubChain
  - org.optaplanner.core.impl.heuristic.selector.value.chained.SubChainSelectorFactory<Solution_>

## Interface Hierarchy

- java.util.EventListener
  - org.optaplanner.core.impl.solver.event.SolverLifecycleListener<Solution_>
    - org.optaplanner.core.impl.phase.event.PhaseLifecycleListener<Solution_>
      - org.optaplanner.core.impl.heuristic.selector.Selector<Solution_>
        - org.optaplanner.core.impl.heuristic.selector.IterableSelector<Solution_,​T> (also extends java.lang.Iterable<T>)
          - org.optaplanner.core.impl.heuristic.selector.ListIterableSelector<Solution_,​T> (also extends org.optaplanner.core.impl.heuristic.selector.common.iterator.ListIterable<T>)
            - org.optaplanner.core.impl.heuristic.selector.value.chained.SubChainSelector<Solution_>
- java.lang.Iterable<T>
  - org.optaplanner.core.impl.heuristic.selector.IterableSelector<Solution_,​T> (also extends org.optaplanner.core.impl.heuristic.selector.Selector<Solution_>)
    - org.optaplanner.core.impl.heuristic.selector.ListIterableSelector<Solution_,​T> (also extends org.optaplanner.core.impl.heuristic.selector.common.iterator.ListIterable<T>)
      - org.optaplanner.core.impl.heuristic.selector.value.chained.SubChainSelector<Solution_>
  - org.optaplanner.core.impl.heuristic.selector.common.iterator.ListIterable<T>
    - org.optaplanner.core.impl.heuristic.selector.ListIterableSelector<Solution_,​T> (also extends org.optaplanner.core.impl.heuristic.selector.IterableSelector<Solution_,​T>)
      - org.optaplanner.core.impl.heuristic.selector.value.chained.SubChainSelector<Solution_>