OptaPlanner core 6.2.0.Beta1

org.optaplanner.core.impl.domain.valuerange.buildin.composite
Class NullableCountableValueRange<T>

java.lang.Object
  extended by org.optaplanner.core.impl.domain.valuerange.AbstractCountableValueRange<T>
      extended by org.optaplanner.core.impl.domain.valuerange.buildin.composite.NullableCountableValueRange<T>
All Implemented Interfaces:
Serializable, CountableValueRange<T>, ValueRange<T>

public class NullableCountableValueRange<T>
extends AbstractCountableValueRange<T>

See Also:
Serialized Form

Constructor Summary
NullableCountableValueRange(CountableValueRange<T> childValueRange)
           
 
Method Summary
 boolean contains(T value)
           
 Iterator<T> createOriginalIterator()
          Select the elements in original (natural) order.
 Iterator<T> createRandomIterator(Random workingRandom)
          Select in random order, without shuffling the elements.
 T get(long index)
          Used by uniform random selection in a composite or nullable CountableValueRange.
 ValueRange<T> getChildValueRange()
           
 long getSize()
          Used by uniform random selection in a composite or nullable CountableValueRange.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NullableCountableValueRange

public NullableCountableValueRange(CountableValueRange<T> childValueRange)
Method Detail

getChildValueRange

public ValueRange<T> getChildValueRange()

getSize

public long getSize()
Description copied from interface: CountableValueRange
Used by uniform random selection in a composite or nullable CountableValueRange.

Returns:
the exact number of elements generated by this CountableValueRange, always >= 0

get

public T get(long index)
Description copied from interface: CountableValueRange
Used by uniform random selection in a composite or nullable CountableValueRange.

Parameters:
index - always < CountableValueRange.getSize()
Returns:
sometimes null (if PlanningVariable.nullable() is true)

contains

public boolean contains(T value)
Parameters:
value - sometimes null
Returns:
true if the ValueRange contains that value

createOriginalIterator

public Iterator<T> createOriginalIterator()
Description copied from interface: CountableValueRange
Select the elements in original (natural) order.

Returns:
never null

createRandomIterator

public Iterator<T> createRandomIterator(Random workingRandom)
Description copied from interface: ValueRange
Select in random order, without shuffling the elements. Each element might be selected multiple times. Scales well because it does not require caching.

Parameters:
workingRandom - never null, the Random to use when any random number is needed, so EnvironmentMode.REPRODUCIBLE works correctly
Returns:
never null

OptaPlanner core 6.2.0.Beta1

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