public abstract class Range
extends java.lang.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 Serializable
if possible.
Constructor and Description |
---|
Range()
Constructs a new range.
|
Modifier and Type | Method and Description |
---|---|
boolean |
containsDouble(double value)
Tests whether the specified
double occurs within
this range using double comparison. |
boolean |
containsDouble(java.lang.Number value)
Tests whether the specified
Number occurs within
this range using double comparison.. |
boolean |
containsFloat(float value)
Tests whether the specified
float occurs within
this range using float comparison. |
boolean |
containsFloat(java.lang.Number value)
Tests whether the specified
Number occurs within
this range using float comparison. |
boolean |
containsInteger(int value)
Tests whether the specified
int occurs within
this range using int comparison. |
boolean |
containsInteger(java.lang.Number value)
Tests whether the specified
Number occurs within
this range using int comparison.. |
boolean |
containsLong(long value)
Tests whether the specified
long occurs within
this range using long comparison. |
boolean |
containsLong(java.lang.Number value)
Tests whether the specified
Number occurs within
this range using long comparison.. |
abstract boolean |
containsNumber(java.lang.Number number)
Tests whether the specified
Number occurs within
this range. |
boolean |
containsRange(Range range)
Tests whether the specified range occurs entirely within this range.
|
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 . |
abstract java.lang.Number |
getMaximumNumber()
Gets 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 . |
abstract java.lang.Number |
getMinimumNumber()
Gets 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.
|
java.lang.String |
toString()
Gets the range as a
String . |
public abstract java.lang.Number getMinimumNumber()
Gets the minimum number in this range.
public long getMinimumLong()
Gets the minimum number in this range as a long
.
This implementation uses the getMinimumNumber()
method.
Subclasses may be able to optimise this.
public int getMinimumInteger()
Gets the minimum number in this range as a int
.
This implementation uses the getMinimumNumber()
method.
Subclasses may be able to optimise this.
public double getMinimumDouble()
Gets the minimum number in this range as a double
.
This implementation uses the getMinimumNumber()
method.
Subclasses may be able to optimise this.
public float getMinimumFloat()
Gets the minimum number in this range as a float
.
This implementation uses the getMinimumNumber()
method.
Subclasses may be able to optimise this.
public abstract java.lang.Number getMaximumNumber()
Gets the maximum number in this range.
public long getMaximumLong()
Gets the maximum number in this range as a long
.
This implementation uses the getMaximumNumber()
method.
Subclasses may be able to optimise this.
public int getMaximumInteger()
Gets the maximum number in this range as a int
.
This implementation uses the getMaximumNumber()
method.
Subclasses may be able to optimise this.
public double getMaximumDouble()
Gets the maximum number in this range as a double
.
This implementation uses the getMaximumNumber()
method.
Subclasses may be able to optimise this.
public float getMaximumFloat()
Gets the maximum number in this range as a float
.
This implementation uses the getMaximumNumber()
method.
Subclasses may be able to optimise this.
public abstract boolean containsNumber(java.lang.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
.
number
- the number to test, may be null
true
if the specified number occurs within this rangejava.lang.IllegalArgumentException
- if the Number
cannot be comparedpublic boolean containsLong(java.lang.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 containsLong(long)
method.
value
- the long to test, may be null
true
if the specified number occurs within this
range by long
comparisonpublic boolean containsLong(long value)
Tests whether the specified long
occurs within
this range using long
comparison.
This implementation uses the getMinimumLong()
and
getMaximumLong()
methods and should be good for most uses.
value
- the long to testtrue
if the specified number occurs within this
range by long
comparisonpublic boolean containsInteger(java.lang.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 containsInteger(int)
method.
value
- the integer to test, may be null
true
if the specified number occurs within this
range by int
comparisonpublic boolean containsInteger(int value)
Tests whether the specified int
occurs within
this range using int
comparison.
This implementation uses the getMinimumInteger()
and
getMaximumInteger()
methods and should be good for most uses.
value
- the int to testtrue
if the specified number occurs within this
range by int
comparisonpublic boolean containsDouble(java.lang.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 containsDouble(double)
method.
value
- the double to test, may be null
true
if the specified number occurs within this
range by double
comparisonpublic boolean containsDouble(double value)
Tests whether the specified double
occurs within
this range using double
comparison.
This implementation uses the getMinimumDouble()
and
getMaximumDouble()
methods and should be good for most uses.
value
- the double to testtrue
if the specified number occurs within this
range by double
comparisonpublic boolean containsFloat(java.lang.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 containsFloat(float)
method.
value
- the float to test, may be null
true
if the specified number occurs within this
range by float
comparisonpublic boolean containsFloat(float value)
Tests whether the specified float
occurs within
this range using float
comparison.
This implementation uses the getMinimumFloat()
and
getMaximumFloat()
methods and should be good for most uses.
value
- the float to testtrue
if the specified number occurs within this
range by float
comparisonpublic 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 containsNumber(Number)
method.
Subclasses may be able to optimise this.
range
- the range to test, may be null
true
if the specified range occurs entirely within
this range; otherwise, false
java.lang.IllegalArgumentException
- if the Range
cannot be comparedpublic 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 containsNumber(Number)
and
containsRange(Range)
methods.
Subclasses may be able to optimise this.
range
- the range to test, may be null
true
if the specified range overlaps with this
range; otherwise, false
java.lang.IllegalArgumentException
- if the Range
cannot be comparedpublic 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.
This implementation uses the getMinimumNumber()
and
getMaximumNumber()
methods.
Subclasses may be able to optimise this.
equals
in class java.lang.Object
obj
- the reference object with which to comparetrue
if this object is equalpublic int hashCode()
Gets a hashCode for the range.
This implementation uses the getMinimumNumber()
and
getMaximumNumber()
methods.
Subclasses may be able to optimise this.
hashCode
in class java.lang.Object
public java.lang.String toString()
Gets the range as a String
.
The format of the String is 'Range[min,max]'.
This implementation uses the getMinimumNumber()
and
getMaximumNumber()
methods.
Subclasses may be able to optimise this.
toString
in class java.lang.Object
String
representation of this range"Copyright © 2010 - 2020 Adobe Systems Incorporated. All Rights Reserved"