Class CachingMoveSelector<Solution_>
java.lang.Object
org.optaplanner.core.impl.heuristic.selector.AbstractSelector<Solution_>
org.optaplanner.core.impl.heuristic.selector.move.AbstractMoveSelector<Solution_>
org.optaplanner.core.impl.heuristic.selector.move.decorator.AbstractCachingMoveSelector<Solution_>
org.optaplanner.core.impl.heuristic.selector.move.decorator.CachingMoveSelector<Solution_>
- All Implemented Interfaces:
Iterable<Move<Solution_>>,EventListener,SelectionCacheLifecycleListener<Solution_>,IterableSelector<Solution_,,Move<Solution_>> MoveSelector<Solution_>,Selector<Solution_>,PhaseLifecycleListener<Solution_>,SolverLifecycleListener<Solution_>
A
MoveSelector that caches the result of its child MoveSelector.
Keep this code in sync with CachingEntitySelector and CachingValueSelector.
-
Field Summary
FieldsFields inherited from class org.optaplanner.core.impl.heuristic.selector.move.decorator.AbstractCachingMoveSelector
cachedMoveList, cacheType, childMoveSelectorFields inherited from class org.optaplanner.core.impl.heuristic.selector.AbstractSelector
logger, phaseLifecycleSupport, workingRandom -
Constructor Summary
ConstructorsConstructorDescriptionCachingMoveSelector(MoveSelector<Solution_> childMoveSelector, SelectionCacheType cacheType, boolean randomSelection) -
Method Summary
Modifier and TypeMethodDescriptionbooleanIs true ifSelector.isCountable()is false or if this selector is in random order (for most cases).iterator()toString()Methods inherited from class org.optaplanner.core.impl.heuristic.selector.move.decorator.AbstractCachingMoveSelector
constructCache, disposeCache, getCacheType, getChildMoveSelector, getSize, isCountableMethods inherited from class org.optaplanner.core.impl.heuristic.selector.AbstractSelector
phaseEnded, phaseStarted, solvingEnded, solvingStarted, stepEnded, stepStartedMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.optaplanner.core.impl.heuristic.selector.IterableSelector
spliteratorMethods inherited from interface org.optaplanner.core.impl.heuristic.selector.move.MoveSelector
supportsPhaseAndSolverCachingMethods inherited from interface org.optaplanner.core.impl.phase.event.PhaseLifecycleListener
phaseEnded, phaseStarted, stepEnded, stepStartedMethods inherited from interface org.optaplanner.core.impl.solver.event.SolverLifecycleListener
solvingEnded, solvingError, solvingStarted
-
Field Details
-
randomSelection
protected final boolean randomSelection
-
-
Constructor Details
-
CachingMoveSelector
public CachingMoveSelector(MoveSelector<Solution_> childMoveSelector, SelectionCacheType cacheType, boolean randomSelection)
-
-
Method Details
-
isNeverEnding
public boolean isNeverEnding()Description copied from interface:SelectorIs true ifSelector.isCountable()is false or if this selector is in random order (for most cases). Is never true when this selector is in shuffled order (which is less scalable but more exact).- Returns:
- true if the
Iterator.hasNext()of theIteratorcreated byIterable.iterator()never returns false (except when it's empty).
-
iterator
-
toString
-