public abstract class AbstractCachingMoveSelector extends AbstractMoveSelector implements SelectionCacheLifecycleListener
| Modifier and Type | Field and Description |
|---|---|
protected List<Move> |
cachedMoveList |
protected SelectionCacheType |
cacheType |
protected MoveSelector |
childMoveSelector |
logger, phaseLifecycleSupport, workingRandom| Constructor and Description |
|---|
AbstractCachingMoveSelector(MoveSelector childMoveSelector,
SelectionCacheType cacheType) |
| Modifier and Type | Method and Description |
|---|---|
void |
constructCache(DefaultSolverScope solverScope) |
void |
disposeCache(DefaultSolverScope solverScope) |
SelectionCacheType |
getCacheType()
Unless this selector itself caches, this returns
SelectionCacheType.JUST_IN_TIME,
even if a selector child caches. |
MoveSelector |
getChildMoveSelector() |
long |
getSize()
A random JIT
Selector with Selector.isNeverEnding() true should return a size
as if it would be able to return each distinct element only once,
because the size can be used in SelectionProbabilityWeightFactory. |
boolean |
isCountable()
If false, then
Selector.isNeverEnding() is true. |
phaseEnded, phaseStarted, solvingEnded, solvingStarted, stepEnded, stepStartedclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitsupportsPhaseAndSolverCachingisNeverEndingphaseEnded, phaseStarted, stepEnded, stepStartedsolvingEnded, solvingStartedforEach, iterator, spliteratorprotected final MoveSelector childMoveSelector
protected final SelectionCacheType cacheType
public AbstractCachingMoveSelector(MoveSelector childMoveSelector, SelectionCacheType cacheType)
public MoveSelector getChildMoveSelector()
public SelectionCacheType getCacheType()
SelectorSelectionCacheType.JUST_IN_TIME,
even if a selector child caches.getCacheType in interface SelectorgetCacheType in class AbstractSelectorpublic void constructCache(DefaultSolverScope solverScope)
constructCache in interface SelectionCacheLifecycleListenerpublic void disposeCache(DefaultSolverScope solverScope)
disposeCache in interface SelectionCacheLifecycleListenerpublic boolean isCountable()
SelectorSelector.isNeverEnding() is true.isCountable in interface SelectorValueRanges are countable
(for example a double value range between 1.2 and 1.4 is not countable)public long getSize()
IterableSelectorSelector with Selector.isNeverEnding() true should return a size
as if it would be able to return each distinct element only once,
because the size can be used in SelectionProbabilityWeightFactory.getSize in interface IterableSelector<Move>Selector, always >= 0Copyright © 2006–2021 JBoss by Red Hat. All rights reserved.