Interface ValueSelector
-
- All Superinterfaces:
EventListener
,PhaseLifecycleListener
,Selector
,SolverLifecycleListener
- All Known Subinterfaces:
EntityIndependentValueSelector
- All Known Implementing Classes:
AbstractCachingValueSelector
,AbstractValueSelector
,CachingValueSelector
,DowncastingValueSelector
,EntityDependentSortingValueSelector
,EntityIndependentFilteringValueSelector
,EntityIndependentInitializedValueSelector
,FilteringValueSelector
,FromEntityPropertyValueSelector
,FromSolutionPropertyValueSelector
,InitializedValueSelector
,MimicRecordingValueSelector
,MimicReplayingValueSelector
,NearEntityNearbyValueSelector
,ProbabilityValueSelector
,ReinitializeVariableValueSelector
,SelectedCountLimitValueSelector
,ShufflingValueSelector
,SortingValueSelector
public interface ValueSelector extends Selector
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
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 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)
-
-