Interface ValueSelector<Solution_>
-
- All Superinterfaces:
EventListener
,PhaseLifecycleListener<Solution_>
,Selector<Solution_>
,SolverLifecycleListener<Solution_>
- All Known Subinterfaces:
EntityIndependentValueSelector<Solution_>
- All Known Implementing Classes:
AbstractCachingValueSelector
,AbstractValueSelector
,CachingValueSelector
,DowncastingValueSelector
,EntityDependentSortingValueSelector
,EntityIndependentFilteringValueSelector
,EntityIndependentInitializedValueSelector
,FilteringValueSelector
,FromEntityPropertyValueSelector
,FromSolutionPropertyValueSelector
,InitializedValueSelector
,MimicRecordingValueSelector
,MimicReplayingValueSelector
,NearEntityNearbyValueSelector
,ProbabilityValueSelector
,ReinitializeVariableValueSelector
,SelectedCountLimitValueSelector
,ShufflingValueSelector
,SortingValueSelector
,UnassignedValueSelector
public interface ValueSelector<Solution_> extends Selector<Solution_>
Selects values from theValueRangeProvider
for aPlanningVariable
annotated property.- See Also:
AbstractValueSelector
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Iterator<Object>
endingIterator(Object entity)
IfSelector.isNeverEnding()
is true, theniterator(Object)
will never end.long
getSize(Object entity)
Similar toIterableSelector.getSize()
, but requires an entity.GenuineVariableDescriptor<Solution_>
getVariableDescriptor()
Iterator<Object>
iterator(Object entity)
Similar toIterable.iterator()
, but requires an entity.-
Methods inherited from interface org.optaplanner.core.impl.phase.event.PhaseLifecycleListener
phaseEnded, phaseStarted, stepEnded, stepStarted
-
Methods inherited from interface org.optaplanner.core.impl.heuristic.selector.Selector
getCacheType, isCountable, isNeverEnding
-
Methods inherited from interface org.optaplanner.core.impl.solver.event.SolverLifecycleListener
solvingEnded, solvingStarted
-
-
-
-
Method Detail
-
getVariableDescriptor
GenuineVariableDescriptor<Solution_> getVariableDescriptor()
- Returns:
- never null
-
getSize
long getSize(Object entity)
Similar toIterableSelector.getSize()
, but requires an entity.- Parameters:
entity
- never null- Returns:
- the approximate number of elements generated by this
Selector
, always>= 0
- Throws:
IllegalStateException
- ifSelector.isCountable()
returns false, but not if onlySelector.isNeverEnding()
returns true
-
iterator
Iterator<Object> iterator(Object entity)
Similar toIterable.iterator()
, but requires an entity.- Parameters:
entity
- never null- Returns:
- never null
-
endingIterator
Iterator<Object> endingIterator(Object entity)
IfSelector.isNeverEnding()
is true, theniterator(Object)
will never end. This returns an endingIterator
, that tries to matchiterator(Object)
as much as possible, but return each distinct element only once and therefore it might not respect the configuration of thisValueSelector
entirely.- Parameters:
entity
- never null- Returns:
- never null
- See Also:
iterator(Object)
-
-