OptaPlanner distribution 6.2.1-SNAPSHOT

org.optaplanner.core.impl.heuristic.selector.value
Interface ValueSelector

All Superinterfaces:
EventListener, PhaseLifecycleListener, Selector, SolverLifecycleListener
All Known Subinterfaces:
EntityIndependentValueSelector
All Known Implementing Classes:
AbstractCachingValueSelector, AbstractValueSelector, CachingValueSelector, DowncastingValueSelector, EntityDependentSortingValueSelector, FromEntityPropertyValueSelector, FromSolutionPropertyValueSelector, InitializedValueSelector, NearEntityNearbyValueSelector, ProbabilityValueSelector, ReinitializeVariableValueSelector, SelectedCountLimitValueSelector, ShufflingValueSelector, SortingValueSelector

public interface ValueSelector
extends Selector

Selects values from the ValueRangeProvider) for a {@link PlanningVariable} annotated property.

See Also:
AbstractValueSelector

Method Summary
 Iterator<Object> endingIterator(Object entity)
          If Selector.isNeverEnding() is true, then iterator(Object) will never end.
 long getSize(Object entity)
          Similar to IterableSelector.getSize(), but requires an entity.
 GenuineVariableDescriptor getVariableDescriptor()
           
 Iterator<Object> iterator(Object entity)
          Similar to Iterable.iterator(), but requires an entity.
 
Methods inherited from interface org.optaplanner.core.impl.heuristic.selector.Selector
getCacheType, isCountable, isNeverEnding
 
Methods inherited from interface org.optaplanner.core.impl.phase.event.PhaseLifecycleListener
phaseEnded, phaseStarted, stepEnded, stepStarted
 
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 to IterableSelector.getSize(), but requires an entity.

Parameters:
entity - never null
Returns:
the approximate number of elements generated by this Selector, always >= 0
Throws:
IllegalStateException - if Selector.isCountable() returns false, but not if only Selector.isNeverEnding() returns true

iterator

Iterator<Object> iterator(Object entity)
Similar to Iterable.iterator(), but requires an entity.

Parameters:
entity - never null
Returns:
never null

endingIterator

Iterator<Object> endingIterator(Object entity)
If Selector.isNeverEnding() is true, then iterator(Object) will never end. This returns an ending Iterator, that tries to match iterator(Object) as much as possible, but return each distinct element only once and therefore it might not respect the configuration of this ValueSelector entirely.

Returns:
never null
See Also:
iterator(Object)

OptaPlanner distribution 6.2.1-SNAPSHOT

Copyright © 2006-2015 JBoss by Red Hat. All Rights Reserved.