Class NumericRange

All Implemented Interfaces:
Range<Double>, Comparable<Range>

public class NumericRange extends AbstractNumericRange<Double>
Specifies upper and lower bounds for a range of values
Author:
Simon
  • Field Details

    • _min

      protected double _min
    • _max

      protected double _max
  • Constructor Details

    • NumericRange

      public NumericRange()
      Creates a numeric range with minimum 0.0 and maximum of 1.0
    • NumericRange

      public NumericRange(double min, double max)
      Create a numeric range by supplying minimum and maximum values
      Parameters:
      min - the minumum
      max - the maximum
    • NumericRange

      public NumericRange(NumericRange numericRange)
      Creates a copy of the supplied NumericRange
      Parameters:
      numericRange - the NumericRange instance to copy
  • Method Details

    • copy

      public Range<Double> copy()
      Overrides:
      copy in class AbstractRange<Double>
    • minimum

      public double minimum()
      Description copied from interface: Range
      This may be the numeric representation of lower() or it may be rounded down.
      Returns:
      the minimum value
    • maximum

      public double maximum()
      Description copied from interface: Range
      This may be the numeric representation of upper() or it may be rounded up.
      Returns:
      the maximum value
    • getMin

      public double getMin()
      Returns:
      the minimum value
    • setMin

      public void setMin(double min)
      Sets the minimum value
      Parameters:
      min - the new minimum value.
    • getMax

      public double getMax()
      Returns:
      the maximum value
    • setMax

      public void setMax(double max)
      Sets the maximum value
      Parameters:
      max - the new maximum value.
    • size

      public double size()
      Description copied from interface: Range
      Compute the size of the range
      Returns:
      the size of the range
    • lower

      public Double lower()
      Returns:
      the minimum() value for the range
    • adjust

      public void adjust(Double lower, Double upper)
      Sets the minimum and maximum values of the range in a single call
      Parameters:
      lower - the new smallest value of the range
      upper - the new largest value of the range
    • upper

      public Double upper()
      Returns:
      the maximum() value for the range
    • contains

      public boolean contains(Double x)
      Determines whether the range contains the supplied value
      Parameters:
      x -
      Returns:
      a boolean to indicate whether the supplied point lies within the range
    • stretch

      public NumericRange stretch(double stretchFactor)
      Creates a new NumericRange by enlarging this numeric range about its mid-point. For example to make it 10% bigger, use a stretch factor of 1.1. Note that this method can also be used to shrink a NumericRange.
      Parameters:
      stretchFactor - the multiplication factor for the enlargement
      Returns:
      a new NumericRange
    • stretch

      public NumericRange stretch(double stretchFactorForLower, double stretchFactorForUpper)
      Creates a new NumericRange by enlarging this numeric range about its mid-point. For example to make it 10% bigger, use a stretch factor of 1.1. Note that this method can also be used to shrink a NumericRange.
      Parameters:
      stretchFactorForLower - the multiplication factor for the enlargement for the lower range
      stretchFactorForUpper - the multiplication factor for the enlargement for the upper range
      Returns:
      a new NumericRange
    • createIntermediate

      public Range<Double> createIntermediate(Range<Double> target, double position)
      Specified by:
      createIntermediate in class AbstractRange<Double>
    • equals

      public boolean equals(Object other)
      Test for equality based on the values of min and max
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • union

      public static NumericRange union(NumericRange r1, NumericRange r2)
      Creates a new NumericRange as the union of two existing NumericRanges. The date format of the first time range is retained in the returned result.
      Parameters:
      r1 - the first NumericRange
      r2 - the second NumericRange
      Returns:
      the union of the supplied NumericRanges