org.apache.commons.lang.math
Class DoubleRange

java.lang.Object
  extended byorg.apache.commons.lang.math.Range
      extended byorg.apache.commons.lang.math.DoubleRange
All Implemented Interfaces:
java.io.Serializable

public final class DoubleRange
extends Range
implements java.io.Serializable

DoubleRange represents an inclusive range of doubles.

Since:
2.0
Version:
$Id: DoubleRange.java 437554 2006-08-28 06:21:41Z bayard $
Author:
Stephen Colebourne
See Also:
Serialized Form

Constructor Summary
DoubleRange(double number)
          Constructs a new DoubleRange using the specified number as both the minimum and maximum in this range.
DoubleRange(double number1, double number2)
          Constructs a new DoubleRange with the specified minimum and maximum numbers (both inclusive).
DoubleRange(java.lang.Number number)
          Constructs a new DoubleRange using the specified number as both the minimum and maximum in this range.
DoubleRange(java.lang.Number number1, java.lang.Number number2)
          Constructs a new DoubleRange with the specified minimum and maximum numbers (both inclusive).
 
Method Summary
 boolean containsDouble(double value)
          Tests whether the specified double occurs within this range using double comparison.
 boolean containsNumber(java.lang.Number number)
          Tests whether the specified number occurs within this range using double comparison.
 boolean containsRange(Range range)
          Tests whether the specified range occurs entirely within this range using double comparison.
 boolean equals(java.lang.Object obj)
          Compares this range to another object to test if they are equal.
 double getMaximumDouble()
          Gets the maximum number in this range as a double.
 float getMaximumFloat()
          Gets the maximum number in this range as a float.
 int getMaximumInteger()
          Gets the maximum number in this range as a int.
 long getMaximumLong()
          Gets the maximum number in this range as a long.
 java.lang.Number getMaximumNumber()
          Returns the maximum number in this range.
 double getMinimumDouble()
          Gets the minimum number in this range as a double.
 float getMinimumFloat()
          Gets the minimum number in this range as a float.
 int getMinimumInteger()
          Gets the minimum number in this range as a int.
 long getMinimumLong()
          Gets the minimum number in this range as a long.
 java.lang.Number getMinimumNumber()
          Returns the minimum number in this range.
 int hashCode()
          Gets a hashCode for the range.
 boolean overlapsRange(Range range)
          Tests whether the specified range overlaps with this range using double comparison.
 java.lang.String toString()
          Gets the range as a String.
 
Methods inherited from class org.apache.commons.lang.math.Range
containsDouble, containsFloat, containsFloat, containsInteger, containsInteger, containsLong, containsLong
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DoubleRange

public DoubleRange(double number)

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

Parameters:
number - the number to use for this range
Throws:
java.lang.IllegalArgumentException - if the number is NaN

DoubleRange

public DoubleRange(java.lang.Number number)

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

Parameters:
number - the number to use for this range, must not be null
Throws:
java.lang.IllegalArgumentException - if the number is null
java.lang.IllegalArgumentException - if the number is NaN

DoubleRange

public DoubleRange(double number1,
                   double number2)

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

The arguments may be passed in the order (min,max) or (max,min). The getMinimum and getMaximum methods will return the correct values.

Parameters:
number1 - first number that defines the edge of the range, inclusive
number2 - second number that defines the edge of the range, inclusive
Throws:
java.lang.IllegalArgumentException - if either number is NaN

DoubleRange

public DoubleRange(java.lang.Number number1,
                   java.lang.Number number2)

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

The arguments may be passed in the order (min,max) or (max,min). The getMinimum and getMaximum methods will return the correct values.

Parameters:
number1 - first number that defines the edge of the range, inclusive
number2 - second number that defines the edge of the range, inclusive
Throws:
java.lang.IllegalArgumentException - if either number is null
java.lang.IllegalArgumentException - if either number is NaN
Method Detail

getMinimumNumber

public java.lang.Number getMinimumNumber()

Returns the minimum number in this range.

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

getMinimumLong

public long getMinimumLong()

Gets the minimum number in this range as a long.

This conversion can lose information for large values or decimals.

Overrides:
getMinimumLong in class Range
Returns:
the minimum number in this range

getMinimumInteger

public int getMinimumInteger()

Gets the minimum number in this range as a int.

This conversion can lose information for large values or decimals.

Overrides:
getMinimumInteger in class Range
Returns:
the minimum number in this range

getMinimumDouble

public double getMinimumDouble()

Gets the minimum number in this range as a double.

Overrides:
getMinimumDouble in class Range
Returns:
the minimum number in this range

getMinimumFloat

public float getMinimumFloat()

Gets the minimum number in this range as a float.

This conversion can lose information for large values.

Overrides:
getMinimumFloat in class Range
Returns:
the minimum number in this range

getMaximumNumber

public java.lang.Number getMaximumNumber()

Returns the maximum number in this range.

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

getMaximumLong

public long getMaximumLong()

Gets the maximum number in this range as a long.

This conversion can lose information for large values or decimals.

Overrides:
getMaximumLong in class Range
Returns:
the maximum number in this range

getMaximumInteger

public int getMaximumInteger()

Gets the maximum number in this range as a int.

This conversion can lose information for large values or decimals.

Overrides:
getMaximumInteger in class Range
Returns:
the maximum number in this range

getMaximumDouble

public double getMaximumDouble()

Gets the maximum number in this range as a double.

Overrides:
getMaximumDouble in class Range
Returns:
the maximum number in this range

getMaximumFloat

public float getMaximumFloat()

Gets the maximum number in this range as a float.

This conversion can lose information for large values.

Overrides:
getMaximumFloat in class Range
Returns:
the maximum number in this range

containsNumber

public boolean containsNumber(java.lang.Number number)

Tests whether the specified number occurs within this range using double comparison.

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

containsDouble

public boolean containsDouble(double value)

Tests whether the specified double occurs within this range using double comparison.

This implementation overrides the superclass for performance as it is the most common case.

Overrides:
containsDouble in class Range
Parameters:
value - the double to test
Returns:
true if the specified number occurs within this range by double comparison

containsRange

public boolean containsRange(Range range)

Tests whether the specified range occurs entirely within this range using double comparison.

null is handled and returns false.

Overrides:
containsRange in class Range
Parameters:
range - the range to test, may be null
Returns:
true if the specified range occurs entirely within this range
Throws:
java.lang.IllegalArgumentException - if the range is not of this type

overlapsRange

public boolean overlapsRange(Range range)

Tests whether the specified range overlaps with this range using double comparison.

null is handled and returns false.

Overrides:
overlapsRange in class Range
Parameters:
range - the range to test, may be null
Returns:
true if the specified range overlaps with this range

equals

public boolean equals(java.lang.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 java.lang.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


Copyright 2001-2008 The Apache Software Foundation. All Rights Reserved.