org.drools.planner.core.heuristic.selector.value.decorator
Class CachingValueSelector

java.lang.Object
  extended by org.drools.planner.core.heuristic.selector.AbstractSelector
      extended by org.drools.planner.core.heuristic.selector.value.AbstractValueSelector
          extended by org.drools.planner.core.heuristic.selector.value.decorator.AbstractCachingValueSelector
              extended by org.drools.planner.core.heuristic.selector.value.decorator.CachingValueSelector
All Implemented Interfaces:
Iterable<Object>, EventListener, SelectionCacheLifecycleListener, Selector, ValueSelector, SolverPhaseLifecycleListener, SolverLifecycleListener

public class CachingValueSelector
extends AbstractCachingValueSelector

A ValueSelector that caches the result of its child ValueSelector.

Keep this code in sync with CachingEntitySelector and CachingMoveSelector.


Field Summary
protected  boolean randomSelection
           
 
Fields inherited from class org.drools.planner.core.heuristic.selector.value.decorator.AbstractCachingValueSelector
cachedValueList, cacheType, childValueSelector
 
Fields inherited from class org.drools.planner.core.heuristic.selector.AbstractSelector
logger, solverPhaseLifecycleSupport, workingRandom
 
Constructor Summary
CachingValueSelector(ValueSelector childValueSelector, SelectionCacheType cacheType, boolean randomSelection)
           
 
Method Summary
 boolean isNeverEnding()
          Is true if Selector.isContinuous() is true or if this selector is in random order (for most cases).
 ValueIterator iterator()
           
 String toString()
           
 
Methods inherited from class org.drools.planner.core.heuristic.selector.value.decorator.AbstractCachingValueSelector
constructCache, disposeCache, getChildValueSelector, getSize, getVariableDescriptor, isContinuous
 
Methods inherited from class org.drools.planner.core.heuristic.selector.AbstractSelector
phaseEnded, phaseStarted, solvingEnded, solvingStarted, stepEnded, stepStarted
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.drools.planner.core.phase.event.SolverPhaseLifecycleListener
phaseEnded, phaseStarted, stepEnded, stepStarted
 
Methods inherited from interface org.drools.planner.core.solver.event.SolverLifecycleListener
solvingEnded, solvingStarted
 

Field Detail

randomSelection

protected final boolean randomSelection
Constructor Detail

CachingValueSelector

public CachingValueSelector(ValueSelector childValueSelector,
                            SelectionCacheType cacheType,
                            boolean randomSelection)
Method Detail

isNeverEnding

public boolean isNeverEnding()
Description copied from interface: Selector
Is true if Selector.isContinuous() is true 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 the Iterator created by Iterable.iterator() never returns false.

iterator

public ValueIterator iterator()

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2001-2014 JBoss by Red Hat. All Rights Reserved.