org.apache.commons.lang

Class NumberRange


public final class NumberRange
extends Object

Represents a range of Number objects.

This class uses double comparisons. This means that it is unsuitable for dealing with large Long, BigDecimal or BigInteger numbers.

Since:
1.0

Constructor Summary

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

Method Summary

boolean
equals(Object obj)
Indicates whether some other Object is "equal" to this one.
Number
getMaximum()
Returns the maximum number in this range.
Number
getMinimum()
Returns the minimum number in this range.
int
hashCode()
Returns a hash code value for this object.
boolean
includesNumber(Number number)
Tests whether the specified number occurs within this range using double comparison.
boolean
includesRange(NumberRange range)
Tests whether the specified range occurs entirely within this range using double comparison.
boolean
overlaps(NumberRange range)
Tests whether the specified range overlaps with this range using double comparison.
String
toString()
Returns the string representation of this range.

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

NumberRange

public NumberRange(Number num)
Constructs a new NumberRange using number as both the minimum and maximum in this range.
Parameters:
num - the number to use for this range
Throws:
NullPointerException - if the number is null

NumberRange

public NumberRange(Number min,
                   Number max)
Constructs a new NumberRange with the specified minimum and maximum numbers.

If the maximum is less than the minimum, the range will be constructed from the minimum value to the minimum value, not what you would expect!.

Parameters:
min - the minimum number in this range
max - the maximum number in this range
Throws:
NullPointerException - if either the minimum or maximum number is null

Method Details

equals

public boolean equals(Object obj)
Indicates whether some other Object is "equal" to this one.
Overrides:
equals in interface Object
Parameters:
obj - the reference object with which to compare
Returns:
true if this object is the same as the obj argument; false otherwise

getMaximum

public Number getMaximum()
Returns the maximum number in this range.
Returns:
the maximum number in this range

getMinimum

public Number getMinimum()
Returns the minimum number in this range.
Returns:
the minimum number in this range

hashCode

public int hashCode()
Returns a hash code value for this object.
Overrides:
hashCode in interface Object
Returns:
a hash code value for this object

includesNumber

public boolean includesNumber(Number number)
Tests whether the specified number occurs within this range using double comparison.
Parameters:
number - the number to test
Returns:
true if the specified number occurs within this range; otherwise, false

includesRange

public boolean includesRange(NumberRange range)
Tests whether the specified range occurs entirely within this range using double comparison.
Parameters:
range - the range to test
Returns:
true if the specified range occurs entirely within this range; otherwise, false

overlaps

public boolean overlaps(NumberRange range)
Tests whether the specified range overlaps with this range using double comparison.
Parameters:
range - the range to test
Returns:
true if the specified range overlaps with this range; otherwise, false

toString

public String toString()
Returns the string representation of this range.

This string is the string representation of the minimum and maximum numbers in the range, separated by a hyphen. If a number is negative, then it is enclosed in parentheses.

Overrides:
toString in interface Object
Returns:
the string representation of this range