Class Range

java.lang.Object
org.apache.commons.lang.math.Range
Direct Known Subclasses:
DoubleRange, FloatRange, IntRange, LongRange, NumberRange

public abstract class Range extends 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
    Description
    Constructs a new range.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    containsDouble(double value)
    Tests whether the specified double occurs within this range using double comparison.
    boolean
    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
    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
    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
    Tests whether the specified Number occurs within this range using long comparison..
    abstract boolean
    Tests whether the specified Number occurs within this range.
    boolean
    Tests whether the specified range occurs entirely within this range.
    boolean
    Compares this range to another object to test if they are equal.
    double
    Gets the maximum number in this range as a double.
    float
    Gets the maximum number in this range as a float.
    int
    Gets the maximum number in this range as a int.
    long
    Gets the maximum number in this range as a long.
    abstract Number
    Gets the maximum number in this range.
    double
    Gets the minimum number in this range as a double.
    float
    Gets the minimum number in this range as a float.
    int
    Gets the minimum number in this range as a int.
    long
    Gets the minimum number in this range as a long.
    abstract Number
    Gets the minimum number in this range.
    int
    Gets a hashCode for the range.
    boolean
    Tests whether the specified range overlaps with this range.
    Gets the range as a String.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • Range

      public Range()

      Constructs a new range.

  • Method Details

    • getMinimumNumber

      public abstract 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 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(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:
      IllegalArgumentException - if the Number cannot be compared
    • containsLong

      public boolean containsLong(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(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(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(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:
      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:
      IllegalArgumentException - if the Range cannot be compared
    • equals

      public boolean equals(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 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 Object
      Returns:
      a hash code value for this object
    • toString

      public 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 Object
      Returns:
      the String representation of this range