org.apache.commons.lang.math

Class Range

public abstract class Range extends Object

Range represents a range of numbers of the same type.

Specific subclasses hold the range values as different types. Each subclass should be immutable and {@link java.io.Serializable Serializable} if possible.

Since: 2.0

Version: $Id: Range.java 161243 2005-04-14 04:30:28Z ggregory $

Author: Stephen Colebourne

Constructor Summary
Range()

Constructs a new range.

Method Summary
booleancontainsDouble(Number value)

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

null is handled and returns false.

This implementation forwards to the {@link #containsDouble(double)} method.

booleancontainsDouble(double value)

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

This implementation uses the {@link #getMinimumDouble()} and {@link #getMaximumDouble()} methods and should be good for most uses.

booleancontainsFloat(Number value)

Tests whether the specified Number occurs within this range using float comparison.

null is handled and returns false.

This implementation forwards to the {@link #containsFloat(float)} method.

booleancontainsFloat(float value)

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

This implementation uses the {@link #getMinimumFloat()} and {@link #getMaximumFloat()} methods and should be good for most uses.

booleancontainsInteger(Number value)

Tests whether the specified Number occurs within this range using int comparison..

null is handled and returns false.

This implementation forwards to the {@link #containsInteger(int)} method.

booleancontainsInteger(int value)

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

This implementation uses the {@link #getMinimumInteger()} and {@link #getMaximumInteger()} methods and should be good for most uses.

booleancontainsLong(Number value)

Tests whether the specified Number occurs within this range using long comparison..

null is handled and returns false.

This implementation forwards to the {@link #containsLong(long)} method.

booleancontainsLong(long value)

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

This implementation uses the {@link #getMinimumLong()} and {@link #getMaximumLong()} methods and should be good for most uses.

abstract booleancontainsNumber(Number number)

Tests whether the specified Number occurs within this range.

The exact comparison implementation varies by subclass.

booleancontainsRange(Range range)

Tests whether the specified range occurs entirely within this range.

The exact comparison implementation varies by subclass.

booleanequals(Object obj)

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

.
doublegetMaximumDouble()

Gets the maximum number in this range as a double.

This implementation uses the {@link #getMaximumNumber()} method.

floatgetMaximumFloat()

Gets the maximum number in this range as a float.

This implementation uses the {@link #getMaximumNumber()} method.

intgetMaximumInteger()

Gets the maximum number in this range as a int.

This implementation uses the {@link #getMaximumNumber()} method.

longgetMaximumLong()

Gets the maximum number in this range as a long.

This implementation uses the {@link #getMaximumNumber()} method.

abstract NumbergetMaximumNumber()

Gets the maximum number in this range.

doublegetMinimumDouble()

Gets the minimum number in this range as a double.

This implementation uses the {@link #getMinimumNumber()} method.

floatgetMinimumFloat()

Gets the minimum number in this range as a float.

This implementation uses the {@link #getMinimumNumber()} method.

intgetMinimumInteger()

Gets the minimum number in this range as a int.

This implementation uses the {@link #getMinimumNumber()} method.

longgetMinimumLong()

Gets the minimum number in this range as a long.

This implementation uses the {@link #getMinimumNumber()} method.

abstract NumbergetMinimumNumber()

Gets the minimum number in this range.

inthashCode()

Gets a hashCode for the range.

This implementation uses the {@link #getMinimumNumber()} and {@link #getMaximumNumber()} methods.

booleanoverlapsRange(Range range)

Tests whether the specified range overlaps with this range.

The exact comparison implementation varies by subclass.

StringtoString()

Gets the range as a String.

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

This implementation uses the {@link #getMinimumNumber()} and {@link #getMaximumNumber()} methods.

Constructor Detail

Range

public Range()

Constructs a new range.

Method Detail

containsDouble

public boolean containsDouble(Number value)

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

null is handled and returns false.

This implementation forwards to the {@link #containsDouble(double)} method.

Parameters: value the double to test, may be null

Returns: true if the specified number occurs within this range by double comparison

containsDouble

public boolean containsDouble(double value)

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

This implementation uses the {@link #getMinimumDouble()} and {@link #getMaximumDouble()} methods and should be good for most uses.

Parameters: value the double to test

Returns: true if the specified number occurs within this range by double comparison

containsFloat

public boolean containsFloat(Number value)

Tests whether the specified Number occurs within this range using float comparison.

null is handled and returns false.

This implementation forwards to the {@link #containsFloat(float)} method.

Parameters: value the float to test, may be null

Returns: true if the specified number occurs within this range by float comparison

containsFloat

public boolean containsFloat(float value)

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

This implementation uses the {@link #getMinimumFloat()} and {@link #getMaximumFloat()} methods and should be good for most uses.

Parameters: value the float to test

Returns: true if the specified number occurs within this range by float comparison

containsInteger

public boolean containsInteger(Number value)

Tests whether the specified Number occurs within this range using int comparison..

null is handled and returns false.

This implementation forwards to the {@link #containsInteger(int)} method.

Parameters: value the integer to test, may be null

Returns: true if the specified number occurs within this range by int comparison

containsInteger

public boolean containsInteger(int value)

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

This implementation uses the {@link #getMinimumInteger()} and {@link #getMaximumInteger()} methods and should be good for most uses.

Parameters: value the int to test

Returns: true if the specified number occurs within this range by int comparison

containsLong

public boolean containsLong(Number value)

Tests whether the specified Number occurs within this range using long comparison..

null is handled and returns false.

This implementation forwards to the {@link #containsLong(long)} method.

Parameters: value the long to test, may be null

Returns: true if the specified number occurs within this range by long comparison

containsLong

public boolean containsLong(long value)

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

This implementation uses the {@link #getMinimumLong()} and {@link #getMaximumLong()} methods and should be good for most uses.

Parameters: value the long to test

Returns: true if the specified number occurs within this range by long comparison

containsNumber

public abstract boolean containsNumber(Number number)

Tests whether the specified Number occurs within this range.

The exact comparison implementation varies by subclass. It is intended that an int specific subclass will compare using int comparison.

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 cannot be compared

containsRange

public boolean containsRange(Range range)

Tests whether the specified range occurs entirely within this range.

The exact comparison implementation varies by subclass. It is intended that an int specific subclass will compare using int comparison.

null is handled and returns false.

This implementation uses the {@link #containsNumber(Number)} method. Subclasses may be able to optimise this.

Parameters: range the range to test, may be null

Returns: true if the specified range occurs entirely within this range; otherwise, false

Throws: IllegalArgumentException if the Range cannot be compared

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.

This implementation uses the {@link #getMinimumNumber()} and {@link #getMaximumNumber()} methods. Subclasses may be able to optimise this.

Parameters: obj the reference object with which to compare

Returns: true if this object is equal

getMaximumDouble

public double getMaximumDouble()

Gets the maximum number in this range as a double.

This implementation uses the {@link #getMaximumNumber()} method. Subclasses may be able to optimise this.

Returns: the maximum number in this range

getMaximumFloat

public float getMaximumFloat()

Gets the maximum number in this range as a float.

This implementation uses the {@link #getMaximumNumber()} method. Subclasses may be able to optimise this.

Returns: the maximum number in this range

getMaximumInteger

public int getMaximumInteger()

Gets the maximum number in this range as a int.

This implementation uses the {@link #getMaximumNumber()} method. Subclasses may be able to optimise this.

Returns: the maximum number in this range

getMaximumLong

public long getMaximumLong()

Gets the maximum number in this range as a long.

This implementation uses the {@link #getMaximumNumber()} method. Subclasses may be able to optimise this.

Returns: the maximum number in this range

getMaximumNumber

public abstract Number getMaximumNumber()

Gets the maximum number in this range.

Returns: the maximum number in this range

getMinimumDouble

public double getMinimumDouble()

Gets the minimum number in this range as a double.

This implementation uses the {@link #getMinimumNumber()} method. Subclasses may be able to optimise this.

Returns: the minimum number in this range

getMinimumFloat

public float getMinimumFloat()

Gets the minimum number in this range as a float.

This implementation uses the {@link #getMinimumNumber()} method. Subclasses may be able to optimise this.

Returns: the minimum number in this range

getMinimumInteger

public int getMinimumInteger()

Gets the minimum number in this range as a int.

This implementation uses the {@link #getMinimumNumber()} method. Subclasses may be able to optimise this.

Returns: the minimum number in this range

getMinimumLong

public long getMinimumLong()

Gets the minimum number in this range as a long.

This implementation uses the {@link #getMinimumNumber()} method. Subclasses may be able to optimise this.

Returns: the minimum number in this range

getMinimumNumber

public abstract Number getMinimumNumber()

Gets the minimum number in this range.

Returns: the minimum number in this range

hashCode

public int hashCode()

Gets a hashCode for the range.

This implementation uses the {@link #getMinimumNumber()} and {@link #getMaximumNumber()} methods. Subclasses may be able to optimise this.

Returns: a hash code value for this object

overlapsRange

public boolean overlapsRange(Range range)

Tests whether the specified range overlaps with this range.

The exact comparison implementation varies by subclass. It is intended that an int specific subclass will compare using int comparison.

null is handled and returns false.

This implementation uses the {@link #containsNumber(Number)} and {@link #containsRange(Range)} methods. Subclasses may be able to optimise this.

Parameters: range the range to test, may be null

Returns: true if the specified range overlaps with this range; otherwise, false

Throws: IllegalArgumentException if the Range cannot be compared

toString

public String toString()

Gets the range as a String.

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

This implementation uses the {@link #getMinimumNumber()} and {@link #getMaximumNumber()} methods. Subclasses may be able to optimise this.

Returns: the String representation of this range

Copyright © 2001-2005 - Apache Software Foundation