org.jfree.data
Class Range

java.lang.Object
  extended byorg.jfree.data.Range
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
DateRange

public class Range
extends java.lang.Object
implements java.io.Serializable

Represents an immutable range of values.

See Also:
Serialized Form

Constructor Summary
Range(double lower, double upper)
          Creates a new range.
 
Method Summary
static Range combine(Range range1, Range range2)
          Creates a new range by combining two existing ranges.
 double constrain(double value)
          Returns the value within the range that is closest to the specified value.
 boolean contains(double value)
          Returns true if the range contains the specified value and false otherwise.
 boolean equals(java.lang.Object obj)
          Tests this object for equality with an arbitrary object.
static Range expand(Range range, double lowerMargin, double upperMargin)
          Creates a new range by adding margins to an existing range.
 double getCentralValue()
          Returns the central value for the range.
 double getLength()
          Returns the length of the range.
 double getLowerBound()
          Returns the lower bound for the range.
 double getUpperBound()
          Returns the upper bound for the range.
 int hashCode()
          Returns a hash code.
 boolean intersects(double b0, double b1)
          Returns true if the range intersects with the specified range, and false otherwise.
static Range shift(Range base, double delta)
          Shifts the range by the specified amount.
static Range shift(Range base, double delta, boolean allowZeroCrossing)
          Shifts the range by the specified amount.
 java.lang.String toString()
          Returns a string representation of this Range.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Range

public Range(double lower,
             double upper)
Creates a new range.

Parameters:
lower - the lower bound (must be <= upper bound).
upper - the upper bound (must be >= lower bound).
Method Detail

getLowerBound

public double getLowerBound()
Returns the lower bound for the range.

Returns:
The lower bound.

getUpperBound

public double getUpperBound()
Returns the upper bound for the range.

Returns:
The upper bound.

getLength

public double getLength()
Returns the length of the range.

Returns:
The length.

getCentralValue

public double getCentralValue()
Returns the central value for the range.

Returns:
The central value.

contains

public boolean contains(double value)
Returns true if the range contains the specified value and false otherwise.

Parameters:
value - the value to lookup.
Returns:
true if the range contains the specified value.

intersects

public boolean intersects(double b0,
                          double b1)
Returns true if the range intersects with the specified range, and false otherwise.

Parameters:
b0 - the lower bound (should be <= b1).
b1 - the upper bound (should be >= b0).
Returns:
A boolean.

constrain

public double constrain(double value)
Returns the value within the range that is closest to the specified value.

Parameters:
value - the value.
Returns:
The constrained value.

combine

public static Range combine(Range range1,
                            Range range2)
Creates a new range by combining two existing ranges.

Note that:

Parameters:
range1 - the first range (null permitted).
range2 - the second range (null permitted).
Returns:
A new range (possibly null).

expand

public static Range expand(Range range,
                           double lowerMargin,
                           double upperMargin)
Creates a new range by adding margins to an existing range.

Parameters:
range - the range (null not permitted).
lowerMargin - the lower margin (expressed as a percentage of the range length).
upperMargin - the upper margin (expressed as a percentage of the range length).
Returns:
The expanded range.

shift

public static Range shift(Range base,
                          double delta)
Shifts the range by the specified amount.

Parameters:
base - the base range.
delta - the shift amount.
Returns:
A new range.

shift

public static Range shift(Range base,
                          double delta,
                          boolean allowZeroCrossing)
Shifts the range by the specified amount.

Parameters:
base - the base range.
delta - the shift amount.
allowZeroCrossing - a flag that determines whether or not the bounds of the range are allowed to cross zero after adjustment.
Returns:
A new range.

equals

public boolean equals(java.lang.Object obj)
Tests this object for equality with an arbitrary object.

Parameters:
obj - the object to test against (null permitted).
Returns:
A boolean.

hashCode

public int hashCode()
Returns a hash code.

Returns:
A hash code.

toString

public java.lang.String toString()
Returns a string representation of this Range.

Returns:
A String "Range[lower,upper]" where lower=lower range and upper=upper range.