Package org.jfree.data
Class Range
- java.lang.Object
-
- org.jfree.data.Range
-
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
DateRange
public class Range extends Object implements Serializable
Represents an immutable range of values.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description Range(double lower, double upper)
Creates a new range.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static Range
combine(Range range1, Range range2)
Creates a new range by combining two existing ranges.static Range
combineIgnoringNaN(Range range1, Range range2)
Returns a new range that spans bothrange1
andrange2
.double
constrain(double value)
Returns the value within the range that is closest to the specified value.boolean
contains(double value)
Returnstrue
if the range contains the specified value andfalse
otherwise.boolean
equals(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.static Range
expandToInclude(Range range, double value)
Returns a range that includes all the values in the specifiedrange
AND the specifiedvalue
.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)
Returnstrue
if the range intersects with the specified range, andfalse
otherwise.boolean
intersects(Range range)
Returnstrue
if the range intersects with the specified range, andfalse
otherwise.boolean
isNaNRange()
Returnstrue
if both the lower and upper bounds areDouble.NaN
, andfalse
otherwise.static Range
scale(Range base, double factor)
Scales the range by the specified factor.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.String
toString()
Returns a string representation of this Range.
-
-
-
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)
Returnstrue
if the range contains the specified value andfalse
otherwise.- Parameters:
value
- the value to lookup.- Returns:
true
if the range contains the specified value.
-
intersects
public boolean intersects(double b0, double b1)
Returnstrue
if the range intersects with the specified range, andfalse
otherwise.- Parameters:
b0
- the lower bound (should be <= b1).b1
- the upper bound (should be >= b0).- Returns:
- A boolean.
-
intersects
public boolean intersects(Range range)
Returnstrue
if the range intersects with the specified range, andfalse
otherwise.- Parameters:
range
- another range (null
not permitted).- Returns:
- A boolean.
- Since:
- 1.0.9
-
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:
- either range can be
null
, in which case the other range is returned; - if both ranges are
null
the return value isnull
.
- Parameters:
range1
- the first range (null
permitted).range2
- the second range (null
permitted).- Returns:
- A new range (possibly
null
).
- either range can be
-
combineIgnoringNaN
public static Range combineIgnoringNaN(Range range1, Range range2)
Returns a new range that spans bothrange1
andrange2
. This method has a special handling to ignore Double.NaN values.- Parameters:
range1
- the first range (null
permitted).range2
- the second range (null
permitted).- Returns:
- A new range (possibly
null
). - Since:
- 1.0.15
-
expandToInclude
public static Range expandToInclude(Range range, double value)
Returns a range that includes all the values in the specifiedrange
AND the specifiedvalue
.- Parameters:
range
- the range (null
permitted).value
- the value that must be included.- Returns:
- A range.
- Since:
- 1.0.1
-
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 (null
not permitted).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 (null
not permitted).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.
-
scale
public static Range scale(Range base, double factor)
Scales the range by the specified factor.- Parameters:
base
- the base range (null
not permitted).factor
- the scaling factor (must be non-negative).- Returns:
- A new range.
- Since:
- 1.0.9
-
equals
public boolean equals(Object obj)
Tests this object for equality with an arbitrary object.
-
isNaNRange
public boolean isNaNRange()
Returnstrue
if both the lower and upper bounds areDouble.NaN
, andfalse
otherwise.- Returns:
- A boolean.
- Since:
- 1.0.18
-
hashCode
public int hashCode()
Returns a hash code.
-
-