Class TimeRange

  • All Implemented Interfaces:
    Range<java.util.Date>, java.lang.Comparable<Range>

    public class TimeRange
    extends AbstractRange<java.util.Date>
    Specifies upper and lower bounds for a range of values along a time line.
    Author:
    Simon White (swhite@catalysoft.com)
    • Field Detail

      • _min

        protected java.util.Date _min
      • _max

        protected java.util.Date _max
    • Constructor Detail

      • TimeRange

        public TimeRange()
        Sets a default time range of the whole of today
      • TimeRange

        public TimeRange​(java.util.Calendar from,
                         java.util.Calendar to)
      • TimeRange

        public TimeRange​(java.util.Date from,
                         java.util.Date to)
      • TimeRange

        public TimeRange​(long from,
                         long to)
      • TimeRange

        public TimeRange​(TimeRange timeRange)
        Constructs a copy of the supplied time range
        Parameters:
        timeRange - the timeRange to copy
    • Method Detail

      • setMin

        public void setMin​(java.util.Date from)
      • setMin

        public void setMin​(long from)
      • adjust

        public void adjust​(java.util.Date lower,
                           java.util.Date upper)
        Description copied from interface: Range
        Adjusts the range.
        Parameters:
        lower - the new smallest value of the range
        upper - the new largest value of the range
      • setMax

        public void setMax​(java.util.Date to)
      • setMax

        public void setMax​(long to)
      • 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 numeric value of the smallest value to include in the range.
      • 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 numeric value of the largest value to include in the range.
      • size

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

        public java.util.Date lower()
        Returns:
        the smallest value of the range
      • upper

        public java.util.Date upper()
        Returns:
        the largest value of the range
      • contains

        public boolean contains​(java.util.Date x)
        Description copied from interface: Range
        Determines whether the supplied point lies within this range. For continuous ranges this is interpreted as a pair of inequalities on the supplied value (i.e., min <= x <= max), but for discrete ranges the contains() method is more like a set membership test.
        Returns:
        a boolean to indicate whether the supplied point lies within the range
      • getTimeZone

        public java.util.TimeZone getTimeZone()
      • setTimeZone

        public void setTimeZone​(java.util.TimeZone timeZone)
      • union

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

        public boolean equals​(java.lang.Object other)
        Overrides:
        equals in class java.lang.Object
      • hashCode

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

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object