org.drools.planner.core.heuristic.selector.entity.decorator
Class AbstractCachingEntitySelector
java.lang.Object
org.drools.planner.core.heuristic.selector.AbstractSelector
org.drools.planner.core.heuristic.selector.entity.AbstractEntitySelector
org.drools.planner.core.heuristic.selector.entity.decorator.AbstractCachingEntitySelector
- All Implemented Interfaces:
- Iterable<Object>, EventListener, ListIterable<Object>, SelectionCacheLifecycleListener, EntitySelector, Selector, SolverPhaseLifecycleListener, SolverLifecycleListener
- Direct Known Subclasses:
- CachingEntitySelector, ShufflingEntitySelector
public abstract class AbstractCachingEntitySelector
- extends AbstractEntitySelector
- implements SelectionCacheLifecycleListener
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
childEntitySelector
protected final EntitySelector childEntitySelector
cacheType
protected final SelectionCacheType cacheType
cachedEntityList
protected List<Object> cachedEntityList
AbstractCachingEntitySelector
public AbstractCachingEntitySelector(EntitySelector childEntitySelector,
SelectionCacheType cacheType)
getChildEntitySelector
public EntitySelector getChildEntitySelector()
constructCache
public void constructCache(DefaultSolverScope solverScope)
- Specified by:
constructCache
in interface SelectionCacheLifecycleListener
disposeCache
public void disposeCache(DefaultSolverScope solverScope)
- Specified by:
disposeCache
in interface SelectionCacheLifecycleListener
getEntityDescriptor
public PlanningEntityDescriptor getEntityDescriptor()
- Specified by:
getEntityDescriptor
in interface EntitySelector
- Returns:
- never null
isContinuous
public boolean isContinuous()
- Description copied from interface:
Selector
- If true, then
Selector.isNeverEnding()
is also true.
- Specified by:
isContinuous
in interface Selector
- Returns:
- true if any of the value ranges are continuous (as in for example every double value between 1.2 and 1.4)
getSize
public long getSize()
- Description copied from interface:
Selector
- 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
.
- Specified by:
getSize
in interface Selector
- Returns:
- the approximate number of elements generated by this
Selector
, always >= 0
Copyright © 2001-2012 JBoss by Red Hat. All Rights Reserved.