Range (Lang 2.6)
Date: 2019-01-01

org.apache.commons.lang.math

## Class Range

- java.lang.Object
- - org.apache.commons.lang.math.Range

- Direct Known Subclasses:
    DoubleRange, FloatRange, IntRange, LongRange, NumberRange

      public abstract class Range
      extends java.lang.Object

  `Range` represents a range of numbers of the same type.

  Specific subclasses hold the range values as different types. Each subclass should be immutable and `Serializable` if possible.

  Since:
    2.0
  Version:
    $Id: Range.java 1057072 2011-01-10 01:55:57Z niallp $

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `Range()` Constructs a new range.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `containsDouble(double value)` Tests whether the specified `double` occurs within this range using `double` comparison.
    `boolean` | `containsDouble(java.lang.Number value)` Tests whether the specified `Number` occurs within this range using `double` comparison..
    `boolean` | `containsFloat(float value)` Tests whether the specified `float` occurs within this range using `float` comparison.
    `boolean` | `containsFloat(java.lang.Number value)` Tests whether the specified `Number` occurs within this range using `float` comparison.
    `boolean` | `containsInteger(int value)` Tests whether the specified `int` occurs within this range using `int` comparison.
    `boolean` | `containsInteger(java.lang.Number value)` Tests whether the specified `Number` occurs within this range using `int` comparison..
    `boolean` | `containsLong(long value)` Tests whether the specified `long` occurs within this range using `long` comparison.
    `boolean` | `containsLong(java.lang.Number value)` Tests whether the specified `Number` occurs within this range using `long` comparison..
    `abstract boolean` | `containsNumber(java.lang.Number number)` Tests whether the specified `Number` occurs within this range.
    `boolean` | `containsRange(Range range)` Tests whether the specified range occurs entirely within this range.
    `boolean` | `equals(java.lang.Object obj)` Compares this range to another object to test if they are equal.
    `double` | `getMaximumDouble()` Gets the maximum number in this range as a `double`.
    `float` | `getMaximumFloat()` Gets the maximum number in this range as a `float`.
    `int` | `getMaximumInteger()` Gets the maximum number in this range as a `int`.
    `long` | `getMaximumLong()` Gets the maximum number in this range as a `long`.
    `abstract java.lang.Number` | `getMaximumNumber()` Gets the maximum number in this range.
    `double` | `getMinimumDouble()` Gets the minimum number in this range as a `double`.
    `float` | `getMinimumFloat()` Gets the minimum number in this range as a `float`.
    `int` | `getMinimumInteger()` Gets the minimum number in this range as a `int`.
    `long` | `getMinimumLong()` Gets the minimum number in this range as a `long`.
    `abstract java.lang.Number` | `getMinimumNumber()` Gets the minimum number in this range.
    `int` | `hashCode()` Gets a hashCode for the range.
    `boolean` | `overlapsRange(Range range)` Tests whether the specified range overlaps with this range.
    `java.lang.String` | `toString()` Gets the range as a `String`.

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

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### Range

          public Range()

      Constructs a new range.

  - ### Method Detail

    - #### getMinimumNumber

          public abstract java.lang.Number getMinimumNumber()

      Gets the minimum number in this range.

      Returns:
        the minimum number in this range

    - #### getMinimumLong

          public long getMinimumLong()

      Gets the minimum number in this range as a `long`.

      This implementation uses the `getMinimumNumber()` method. Subclasses may be able to optimise this.

      Returns:
        the minimum number in this range

    - #### getMinimumInteger

          public int getMinimumInteger()

      Gets the minimum number in this range as a `int`.

      This implementation uses the `getMinimumNumber()` method. Subclasses may be able to optimise this.

      Returns:
        the minimum number in this range

    - #### getMinimumDouble

          public double getMinimumDouble()

      Gets the minimum number in this range as a `double`.

      This implementation uses the `getMinimumNumber()` method. Subclasses may be able to optimise this.

      Returns:
        the minimum number in this range

    - #### getMinimumFloat

          public float getMinimumFloat()

      Gets the minimum number in this range as a `float`.

      This implementation uses the `getMinimumNumber()` method. Subclasses may be able to optimise this.

      Returns:
        the minimum number in this range

    - #### getMaximumNumber

          public abstract java.lang.Number getMaximumNumber()

      Gets the maximum number in this range.

      Returns:
        the maximum number in this range

    - #### getMaximumLong

          public long getMaximumLong()

      Gets the maximum number in this range as a `long`.

      This implementation uses the `getMaximumNumber()` method. Subclasses may be able to optimise this.

      Returns:
        the maximum number in this range

    - #### getMaximumInteger

          public int getMaximumInteger()

      Gets the maximum number in this range as a `int`.

      This implementation uses the `getMaximumNumber()` method. Subclasses may be able to optimise this.

      Returns:
        the maximum number in this range

    - #### getMaximumDouble

          public double getMaximumDouble()

      Gets the maximum number in this range as a `double`.

      This implementation uses the `getMaximumNumber()` method. Subclasses may be able to optimise this.

      Returns:
        the maximum number in this range

    - #### getMaximumFloat

          public float getMaximumFloat()

      Gets the maximum number in this range as a `float`.

      This implementation uses the `getMaximumNumber()` method. Subclasses may be able to optimise this.

      Returns:
        the maximum number in this range

    - #### containsNumber

          public abstract boolean containsNumber(java.lang.Number number)

      Tests whether the specified `Number` occurs within this range.

      The exact comparison implementation varies by subclass. It is intended that an `int` specific subclass will compare using `int` comparison.

      `null` is handled and returns `false`.

      Parameters:
        `number` - the number to test, may be `null`
      Returns:
        `true` if the specified number occurs within this range
      Throws:
        `java.lang.IllegalArgumentException` - if the `Number` cannot be compared

    - #### containsLong

          public boolean containsLong(java.lang.Number value)

      Tests whether the specified `Number` occurs within this range using `long` comparison..

      `null` is handled and returns `false`.

      This implementation forwards to the `containsLong(long)` method.

      Parameters:
        `value` - the long to test, may be `null`
      Returns:
        `true` if the specified number occurs within this range by `long` comparison

    - #### containsLong

          public boolean containsLong(long value)

      Tests whether the specified `long` occurs within this range using `long` comparison.

      This implementation uses the `getMinimumLong()` and `getMaximumLong()` methods and should be good for most uses.

      Parameters:
        `value` - the long to test
      Returns:
        `true` if the specified number occurs within this range by `long` comparison

    - #### containsInteger

          public boolean containsInteger(java.lang.Number value)

      Tests whether the specified `Number` occurs within this range using `int` comparison..

      `null` is handled and returns `false`.

      This implementation forwards to the `containsInteger(int)` method.

      Parameters:
        `value` - the integer to test, may be `null`
      Returns:
        `true` if the specified number occurs within this range by `int` comparison

    - #### containsInteger

          public boolean containsInteger(int value)

      Tests whether the specified `int` occurs within this range using `int` comparison.

      This implementation uses the `getMinimumInteger()` and `getMaximumInteger()` methods and should be good for most uses.

      Parameters:
        `value` - the int to test
      Returns:
        `true` if the specified number occurs within this range by `int` comparison

    - #### containsDouble

          public boolean containsDouble(java.lang.Number value)

      Tests whether the specified `Number` occurs within this range using `double` comparison..

      `null` is handled and returns `false`.

      This implementation forwards to the `containsDouble(double)` method.

      Parameters:
        `value` - the double to test, may be `null`
      Returns:
        `true` if the specified number occurs within this range by `double` comparison

    - #### containsDouble

          public boolean containsDouble(double value)

      Tests whether the specified `double` occurs within this range using `double` comparison.

      This implementation uses the `getMinimumDouble()` and `getMaximumDouble()` methods and should be good for most uses.

      Parameters:
        `value` - the double to test
      Returns:
        `true` if the specified number occurs within this range by `double` comparison

    - #### containsFloat

          public boolean containsFloat(java.lang.Number value)

      Tests whether the specified `Number` occurs within this range using `float` comparison.

      `null` is handled and returns `false`.

      This implementation forwards to the `containsFloat(float)` method.

      Parameters:
        `value` - the float to test, may be `null`
      Returns:
        `true` if the specified number occurs within this range by `float` comparison

    - #### containsFloat

          public boolean containsFloat(float value)

      Tests whether the specified `float` occurs within this range using `float` comparison.

      This implementation uses the `getMinimumFloat()` and `getMaximumFloat()` methods and should be good for most uses.

      Parameters:
        `value` - the float to test
      Returns:
        `true` if the specified number occurs within this range by `float` comparison

    - #### containsRange

          public boolean containsRange(Range range)

      Tests whether the specified range occurs entirely within this range.

      The exact comparison implementation varies by subclass. It is intended that an `int` specific subclass will compare using `int` comparison.

      `null` is handled and returns `false`.

      This implementation uses the `containsNumber(Number)` method. Subclasses may be able to optimise this.

      Parameters:
        `range` - the range to test, may be `null`
      Returns:
        `true` if the specified range occurs entirely within this range; otherwise, `false`
      Throws:
        `java.lang.IllegalArgumentException` - if the `Range` cannot be compared

    - #### overlapsRange

          public boolean overlapsRange(Range range)

      Tests whether the specified range overlaps with this range.

      The exact comparison implementation varies by subclass. It is intended that an `int` specific subclass will compare using `int` comparison.

      `null` is handled and returns `false`.

      This implementation uses the `containsNumber(Number)` and `containsRange(Range)` methods. Subclasses may be able to optimise this.

      Parameters:
        `range` - the range to test, may be `null`
      Returns:
        `true` if the specified range overlaps with this range; otherwise, `false`
      Throws:
        `java.lang.IllegalArgumentException` - if the `Range` cannot be compared

    - #### equals

          public boolean equals(java.lang.Object obj)

      Compares this range to another object to test if they are equal.

      .

      To be equal, the class, minimum and maximum must be equal.

      This implementation uses the `getMinimumNumber()` and `getMaximumNumber()` methods. Subclasses may be able to optimise this.

      Overrides:
        `equals` in class `java.lang.Object`
      Parameters:
        `obj` - the reference object with which to compare
      Returns:
        `true` if this object is equal

    - #### hashCode

          public int hashCode()

      Gets a hashCode for the range.

      This implementation uses the `getMinimumNumber()` and `getMaximumNumber()` methods. Subclasses may be able to optimise this.

      Overrides:
        `hashCode` in class `java.lang.Object`
      Returns:
        a hash code value for this object

    - #### toString

          public java.lang.String toString()

      Gets the range as a `String`.

      The format of the String is 'Range[min,max]'.

      This implementation uses the `getMinimumNumber()` and `getMaximumNumber()` methods. Subclasses may be able to optimise this.

      Overrides:
        `toString` in class `java.lang.Object`
      Returns:
        the `String` representation of this range

Copyright © 2001-2019 - Apache Software Foundation