Interface ValueSelector<Solution_>
- All Superinterfaces:
EventListener
,PhaseLifecycleListener<Solution_>
,Selector<Solution_>
,SolverLifecycleListener<Solution_>
- All Known Subinterfaces:
EntityIndependentValueSelector<Solution_>
- All Known Implementing Classes:
AbstractCachingValueSelector
,AssignedValueSelector
,CachingValueSelector
,DowncastingValueSelector
,EntityDependentSortingValueSelector
,EntityIndependentFilteringValueSelector
,EntityIndependentInitializedValueSelector
,FilteringValueSelector
,FromEntityPropertyValueSelector
,FromSolutionPropertyValueSelector
,InitializedValueSelector
,MimicRecordingValueSelector
,MimicReplayingValueSelector
,NearEntityNearbyValueSelector
,NearValueNearbyValueSelector
,ProbabilityValueSelector
,ReinitializeVariableValueSelector
,SelectedCountLimitValueSelector
,ShufflingValueSelector
,SortingValueSelector
,UnassignedValueSelector
Selects values from the
ValueRangeProvider
for a PlanningVariable
annotated property.- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionendingIterator
(Object entity) IfSelector.isNeverEnding()
is true, theniterator(Object)
will never end.long
Similar toIterableSelector.getSize()
, but requires an 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, solvingError, solvingStarted
-
Method Details
-
getVariableDescriptor
GenuineVariableDescriptor<Solution_> getVariableDescriptor()- Returns:
- never null
-
getSize
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
Similar toIterable.iterator()
, but requires an entity.- Parameters:
entity
- never null- Returns:
- never null
-
endingIterator
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:
-