Package org.optaplanner.core.impl.domain.valuerange

## Class AbstractCountableValueRange<T>

- java.lang.Object
- - org.optaplanner.core.impl.domain.valuerange.AbstractCountableValueRange<T>

- All Implemented Interfaces:
    `Serializable`, `CountableValueRange<T>`, `ValueRange<T>`
  Direct Known Subclasses:
    `BigDecimalValueRange`, `BigIntegerValueRange`, `BooleanValueRange`, `CompositeCountableValueRange`, `EmptyValueRange`, `IntValueRange`, `ListValueRange`, `LongValueRange`, `NullableCountableValueRange`, `TemporalValueRange`

      public abstract class AbstractCountableValueRange<T>
      extends Object
      implements CountableValueRange<T>, Serializable

  Abstract superclass for `CountableValueRange` (and therefore `ValueRange`).
  See Also:
    `CountableValueRange`, `ValueRange`, `ValueRangeFactory`, Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `AbstractCountableValueRange()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `isEmpty()` | In a `CountableValueRange`, this must be consistent with `CountableValueRange.getSize()`.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.optaplanner.core.api.domain.valuerange.CountableValueRange

      `createOriginalIterator, get, getSize`

    - ### Methods inherited from interface org.optaplanner.core.api.domain.valuerange.ValueRange

      `contains, createRandomIterator`

- - ### Constructor Detail

    - #### AbstractCountableValueRange

          public AbstractCountableValueRange()

  - ### Method Detail

    - #### isEmpty

          public boolean isEmpty()

      Description copied from interface: `ValueRange`
      In a `CountableValueRange`, this must be consistent with `CountableValueRange.getSize()`.
      Specified by:
        `isEmpty` in interface `ValueRange<T>`
      Returns:
        true if the range is empty