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:
  • Constructor Summary

    Constructors
    Constructor
    Description
    Range(double lower, double upper)
    Creates a new range.
  • Method Summary

    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 both range1 and range2.
    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
    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 specified range AND the specified value.
    double
    Returns the central value for the range.
    double
    Returns the length of the range.
    double
    Returns the lower bound for the range.
    double
    Returns the upper bound for the range.
    int
    Returns a hash code.
    boolean
    intersects(double b0, double b1)
    Returns true if the range intersects with the specified range, and false otherwise.
    boolean
    Returns true if the range intersects with the specified range, and false otherwise.
    boolean
    Returns true if both the lower and upper bounds are Double.NaN, and false 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.
    Returns a string representation of this Range.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • 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 Details

    • 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.
    • intersects

      public boolean intersects(Range range)
      Returns true if the range intersects with the specified range, and false otherwise.
      Parameters:
      range - another range (null not permitted).
      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:

      • either range can be null, in which case the other range is returned;
      • if both ranges are null the return value is null.
      Parameters:
      range1 - the first range (null permitted).
      range2 - the second range (null permitted).
      Returns:
      A new range (possibly null).
    • combineIgnoringNaN

      public static Range combineIgnoringNaN(Range range1, Range range2)
      Returns a new range that spans both range1 and range2. 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).
    • expandToInclude

      public static Range expandToInclude(Range range, double value)
      Returns a range that includes all the values in the specified range AND the specified value.
      Parameters:
      range - the range (null permitted).
      value - the value that must be included.
      Returns:
      A range.
    • 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.
    • equals

      public boolean equals(Object obj)
      Tests this object for equality with an arbitrary object.
      Overrides:
      equals in class Object
      Parameters:
      obj - the object to test against (null permitted).
      Returns:
      A boolean.
    • isNaNRange

      public boolean isNaNRange()
      Returns true if both the lower and upper bounds are Double.NaN, and false otherwise.
      Returns:
      A boolean.
    • hashCode

      public int hashCode()
      Returns a hash code.
      Overrides:
      hashCode in class Object
      Returns:
      A hash code.
    • toString

      public String toString()
      Returns a string representation of this Range.
      Overrides:
      toString in class Object
      Returns:
      A String "Range[lower,upper]" where lower=lower range and upper=upper range.