Interface CountableValueRange<T>
- 
- All Superinterfaces:
 ValueRange<T>
- All Known Implementing Classes:
 AbstractCountableValueRange,BigDecimalValueRange,BigIntegerValueRange,BooleanValueRange,CompositeCountableValueRange,EmptyValueRange,IntValueRange,ListValueRange,LongValueRange,NullableCountableValueRange,TemporalValueRange
public interface CountableValueRange<T> extends ValueRange<T>
AValueRangethat is ending. Therefore, it has a discrete (as in non-continuous) range.An implementation must extend
AbstractCountableValueRangeto ensure backwards compatibility in future versions.- See Also:
 ValueRangeFactory,ValueRange,AbstractCountableValueRange
 
- 
- 
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Iterator<T>createOriginalIterator()Select the elements in original (natural) order.Tget(long index)Used by uniform random selection in a composite or nullable CountableValueRange.longgetSize()Used by uniform random selection in a composite or nullable CountableValueRange.- 
Methods inherited from interface org.optaplanner.core.api.domain.valuerange.ValueRange
contains, createRandomIterator, isEmpty 
 - 
 
 - 
 
- 
- 
Method Detail
- 
getSize
long getSize()
Used by uniform random selection in a composite or nullable CountableValueRange.- Returns:
 - the exact number of elements generated by this 
CountableValueRange, always>= 0 
 
- 
get
T get(long index)
Used by uniform random selection in a composite or nullable CountableValueRange.- Parameters:
 index- always<getSize()- Returns:
 - sometimes null (if 
PlanningVariable.nullable()is true) 
 
 - 
 
 -