org.optaplanner.core.impl.heuristic.selector.entity.decorator
Class AbstractCachingEntitySelector
java.lang.Object
org.optaplanner.core.impl.heuristic.selector.AbstractSelector
org.optaplanner.core.impl.heuristic.selector.entity.AbstractEntitySelector
org.optaplanner.core.impl.heuristic.selector.entity.decorator.AbstractCachingEntitySelector
- All Implemented Interfaces:
- Iterable<Object>, EventListener, ListIterable<Object>, SelectionCacheLifecycleListener, EntitySelector, IterableSelector<Object>, ListIterableSelector<Object>, Selector, SolverPhaseLifecycleListener, SolverLifecycleListener
- Direct Known Subclasses:
- CachingEntitySelector, ShufflingEntitySelector, SortingEntitySelector
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()
getCacheType
public SelectionCacheType getCacheType()
- Description copied from interface:
Selector
- Unless this selector itself caches, this returns
SelectionCacheType.JUST_IN_TIME,
even if a selector child caches.
- Specified by:
getCacheType in interface Selector- Overrides:
getCacheType in class AbstractSelector
- Returns:
- never null
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:
IterableSelector
- 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 IterableSelector<Object>
- Returns:
- the approximate number of elements generated by this
Selector, always >= 0
endingIterator
public Iterator<Object> endingIterator()
- Description copied from interface:
EntitySelector
- If
Selector.isNeverEnding() is true, then Iterable.iterator() will never end.
This returns an ending Iterator, that tries to match Iterable.iterator() as much as possible,
but might not respect the configuration of this EntitySelector entirely.
- Specified by:
endingIterator in interface EntitySelector
- Returns:
- never null
- See Also:
Iterable.iterator()
Copyright © 2006-2013 JBoss by Red Hat. All Rights Reserved.