org.apache.commons.lang.math

Class NumberRange

Implemented Interfaces:
Serializable

public final class NumberRange
extends Range
implements Serializable

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

Version:
$Id: NumberRange.java,v 1.6 2003/08/18 02:22:24 bayard Exp $

Authors:
Christopher Elkins
Stephen Colebourne

Since:
2.0 (previously in org.apache.commons.lang)

Constructor Summary

NumberRange(Number num)
Constructs a new NumberRange using the specified number as both the minimum and maximum in this range.
NumberRange(Number num1, Number num2)
Constructs a new NumberRange with the specified minimum and maximum numbers (both inclusive).

Method Summary

boolean
containsNumber(Number number)
Tests whether the specified number occurs within this range.
boolean
equals(Object obj)
Compares this range to another object to test if they are equal.
Number
getMaximumNumber()
Returns the maximum number in this range.
Number
getMinimumNumber()
Returns the minimum number in this range.
int
hashCode()
Gets a hashCode for the range.
String
toString()
Gets the range as a String.

Methods inherited from class org.apache.commons.lang.math.Range

containsDouble, containsDouble, containsFloat, containsFloat, containsInteger, containsInteger, containsLong, containsLong, containsNumber, containsRange, equals, getMaximumDouble, getMaximumFloat, getMaximumInteger, getMaximumLong, getMaximumNumber, getMinimumDouble, getMinimumFloat, getMinimumInteger, getMinimumLong, getMinimumNumber, hashCode, overlapsRange, toString

Constructor Details

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


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

Method Details

containsNumber

public boolean containsNumber(Number number)
Tests whether the specified number occurs within this range.

null is handled and returns false.

Overrides:
containsNumber in interface Range

Parameters:
number - the number to test, may be null

Returns:
true if the specified number occurs within this 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 interface Range

Parameters:
obj - the reference object with which to compare

Returns:
true if this object is equal


getMaximumNumber

public Number getMaximumNumber()
Returns the maximum number in this range.
Overrides:
getMaximumNumber in interface Range

Returns:
the maximum number in this range


getMinimumNumber

public Number getMinimumNumber()
Returns the minimum number in this range.
Overrides:
getMinimumNumber in interface Range

Returns:
the minimum number in this range


hashCode

public int hashCode()
Gets a hashCode for the range.
Overrides:
hashCode in interface 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 interface Range

Returns:
the String representation of this range


Copyright © 2001-2003 - Apache Software Foundation