- 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 Rangecombine(Range range1, Range range2)Creates a new range by combining two existing ranges.static RangecombineIgnoringNaN(Range range1, Range range2)Returns a new range that spans bothrange1andrange2.doubleconstrain(double value)Returns the value within the range that is closest to the specified value.booleancontains(double value)Returnstrueif the range contains the specified value andfalseotherwise.booleanequals(Object obj)Tests this object for equality with an arbitrary object.static Rangeexpand(Range range, double lowerMargin, double upperMargin)Creates a new range by adding margins to an existing range.static RangeexpandToInclude(Range range, double value)Returns a range that includes all the values in the specifiedrangeAND the specifiedvalue.doublegetCentralValue()Returns the central value for the range.doublegetLength()Returns the length of the range.doublegetLowerBound()Returns the lower bound for the range.doublegetUpperBound()Returns the upper bound for the range.inthashCode()Returns a hash code.booleanintersects(double b0, double b1)Returnstrueif the range intersects with the specified range, andfalseotherwise.booleanintersects(Range range)Returnstrueif the range intersects with the specified range, andfalseotherwise.booleanisNaNRange()Returnstrueif both the lower and upper bounds areDouble.NaN, andfalseotherwise.static Rangescale(Range base, double factor)Scales the range by the specified factor.static Rangeshift(Range base, double delta)Shifts the range by the specified amount.static Rangeshift(Range base, double delta, boolean allowZeroCrossing)Shifts the range by the specified amount.StringtoString()Returns a string representation of this Range.
-
-
-
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)
Returnstrueif the range contains the specified value andfalseotherwise.- Parameters:
value- the value to lookup.- Returns:
trueif the range contains the specified value.
-
intersects
public boolean intersects(double b0, double b1)
Returnstrueif the range intersects with the specified range, andfalseotherwise.- Parameters:
b0- the lower bound (should be <= b1).b1- the upper bound (should be >= b0).- Returns:
- A boolean.
-
intersects
public boolean intersects(Range range)
Returnstrueif the range intersects with the specified range, andfalseotherwise.- Parameters:
range- another range (nullnot 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
nullthe return value isnull.
- Parameters:
range1- the first range (nullpermitted).range2- the second range (nullpermitted).- 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 bothrange1andrange2. This method has a special handling to ignore Double.NaN values.- Parameters:
range1- the first range (nullpermitted).range2- the second range (nullpermitted).- 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 specifiedrangeAND the specifiedvalue.- Parameters:
range- the range (nullpermitted).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 (nullnot 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 (nullnot 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 (nullnot 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 (nullnot permitted).factor- the scaling factor (must be non-negative).- Returns:
- A new range.
- Since:
- 1.0.9
-
isNaNRange
public boolean isNaNRange()
Returnstrueif both the lower and upper bounds areDouble.NaN, andfalseotherwise.- Returns:
- A boolean.
- Since:
- 1.0.18
-
hashCode
public int hashCode()
Returns a hash code.
-
-