Class NumberRange

  • All Implemented Interfaces:
    Serializable

    public final class NumberRange
    extends Range
    implements Serializable

    NumberRange represents an inclusive range of Number objects of the same type.

    Since:
    2.0 (previously in org.apache.commons.lang)
    Version:
    $Id: NumberRange.java 1057072 2011-01-10 01:55:57Z niallp $
    See Also:
    Serialized Form
    • Constructor Detail

      • NumberRange

        public NumberRange​(Number num)

        Constructs a new NumberRange using the specified number as both the minimum and maximum in this range.

        Parameters:
        num - the number to use for this range
        Throws:
        IllegalArgumentException - if the number is null
        IllegalArgumentException - if the number doesn't implement Comparable
        IllegalArgumentException - if the number is Double.NaN or Float.NaN
      • NumberRange

        public NumberRange​(Number num1,
                           Number num2)

        Constructs a new NumberRange with the specified minimum and maximum numbers (both inclusive).

        The arguments may be passed in the order (min,max) or (max,min). The getMinimumNumber() and getMaximumNumber() methods will return the correct value.

        This constructor is designed to be used with two Number objects of the same type. If two objects of different types are passed in, an exception is thrown.

        Parameters:
        num1 - first number that defines the edge of the range, inclusive
        num2 - second number that defines the edge of the range, inclusive
        Throws:
        IllegalArgumentException - if either number is null
        IllegalArgumentException - if the numbers are of different types
        IllegalArgumentException - if the numbers don't implement Comparable
    • Method Detail

      • getMinimumNumber

        public Number getMinimumNumber()

        Returns the minimum number in this range.

        Specified by:
        getMinimumNumber in class Range
        Returns:
        the minimum number in this range
      • getMaximumNumber

        public Number getMaximumNumber()

        Returns the maximum number in this range.

        Specified by:
        getMaximumNumber in class Range
        Returns:
        the maximum number in this range
      • containsNumber

        public boolean containsNumber​(Number number)

        Tests whether the specified number occurs within this range.

        null is handled and returns false.

        Specified by:
        containsNumber in class Range
        Parameters:
        number - the number to test, may be null
        Returns:
        true if the specified number occurs within this range
        Throws:
        IllegalArgumentException - if the number is of a different type to the range
      • 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.

        Overrides:
        equals in class Range
        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.

        Overrides:
        hashCode in class Range
        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]'.

        Overrides:
        toString in class Range
        Returns:
        the String representation of this range