org.apache.commons.lang.math

Class NumberRange

public final class NumberRange extends Range implements Serializable

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

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

Version: $Id: NumberRange.java 437554 2006-08-28 06:21:41Z bayard $

Author: Christopher Elkins Stephen Colebourne

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).

The arguments may be passed in the order (min,max) or (max,min).

Method Summary
booleancontainsNumber(Number number)

Tests whether the specified number occurs within this range.

null is handled and returns false.

booleanequals(Object obj)

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

.
NumbergetMaximumNumber()

Returns the maximum number in this range.

NumbergetMinimumNumber()

Returns the minimum number in this range.

inthashCode()

Gets a hashCode for the range.

StringtoString()

Gets the range as a String.

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

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

containsNumber

public boolean containsNumber(Number number)

Tests whether the specified number occurs within this range.

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 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.

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.

Returns: the maximum number in this range

getMinimumNumber

public Number getMinimumNumber()

Returns the minimum number in this range.

Returns: the minimum number in this range

hashCode

public int hashCode()

Gets a hashCode for the 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]'.

Returns: the String representation of this range

Copyright © 2001-2010 - Apache Software Foundation