org.optaplanner.core.impl.heuristic.selector.value.decorator
Class EntityDependentSortingValueSelector
java.lang.Object
org.optaplanner.core.impl.heuristic.selector.AbstractSelector
org.optaplanner.core.impl.heuristic.selector.value.AbstractValueSelector
org.optaplanner.core.impl.heuristic.selector.value.decorator.EntityDependentSortingValueSelector
- All Implemented Interfaces:
- EventListener, Selector, ValueSelector, SolverPhaseLifecycleListener, SolverLifecycleListener
public class EntityDependentSortingValueSelector
- extends AbstractValueSelector
childValueSelector
protected final ValueSelector childValueSelector
cacheType
protected final SelectionCacheType cacheType
sorter
protected final SelectionSorter sorter
scoreDirector
protected ScoreDirector scoreDirector
EntityDependentSortingValueSelector
public EntityDependentSortingValueSelector(ValueSelector childValueSelector,
SelectionCacheType cacheType,
SelectionSorter sorter)
getChildValueSelector
public ValueSelector getChildValueSelector()
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
phaseStarted
public void phaseStarted(AbstractSolverPhaseScope phaseScope)
- Specified by:
phaseStarted
in interface SolverPhaseLifecycleListener
- Overrides:
phaseStarted
in class AbstractSelector
phaseEnded
public void phaseEnded(AbstractSolverPhaseScope phaseScope)
- Specified by:
phaseEnded
in interface SolverPhaseLifecycleListener
- Overrides:
phaseEnded
in class AbstractSelector
getVariableDescriptor
public PlanningVariableDescriptor getVariableDescriptor()
- Returns:
- never null
getSize
public long getSize(Object entity)
- Description copied from interface:
ValueSelector
- Similar to
IterableSelector.getSize()
, but requires an entity.
- Parameters:
entity
- never null
- Returns:
- the approximate number of elements generated by this
Selector
, always >= 0
isContinuous
public boolean isContinuous()
- Description copied from interface:
Selector
- If true, then
Selector.isNeverEnding()
is also true.
- Returns:
- true if any of the value ranges are continuous (as in for example every double value between 1.2 and 1.4)
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 Iterator<Object> iterator(Object entity)
- Description copied from interface:
ValueSelector
- Similar to
Iterable.iterator()
, but requires an entity.
- Parameters:
entity
- never null
- Returns:
- never null
toString
public String toString()
- Overrides:
toString
in class Object
Copyright © 2006-2013 JBoss by Red Hat. All Rights Reserved.