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 EntityDescriptor getEntityDescriptor()
- Specified by:
getEntityDescriptor
in interface EntitySelector
- Returns:
- never null
isCountable
public boolean isCountable()
- Description copied from interface:
Selector
- If false, then
Selector.isNeverEnding()
is true.
- Specified by:
isCountable
in interface Selector
- Returns:
- true if all the
ValueRange
s are countable
(for example a double value range between 1.2 and 1.4 is not countable)
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 return each distinct element only once
and therefore it might not respect the configuration of this EntitySelector
entirely.
- Specified by:
endingIterator
in interface EntitySelector
- Returns:
- never null
- See Also:
Iterable.iterator()
Copyright © 2006-2014 JBoss by Red Hat. All Rights Reserved.