Class DateSpan


  • public class DateSpan
    extends Object
    An immutable representation of a time range. The time range is internally represented as two longs. The methods that take and return Dates create the Dates as needed, so that if you modify returned Dates you will not effect the DateSpan. The end points are inclusive.
    Version:
    $Revision: 542 $
    • Constructor Summary

      Constructors 
      Constructor Description
      DateSpan​(long start, long end)
      Creates a DateSpan between the two end points.
      DateSpan​(Date start, Date end)
      Creates a DateSpan between the two end points.
    • Constructor Detail

      • DateSpan

        public DateSpan​(long start,
                        long end)
        Creates a DateSpan between the two end points.
        Parameters:
        start - Beginning date
        end - Ending date
        Throws:
        IllegalArgumentException - if start is after end
      • DateSpan

        public DateSpan​(Date start,
                        Date end)
        Creates a DateSpan between the two end points. This is a conveniance constructor that is equivalent to new Date(start.getTime(), end.getTime());.
        Parameters:
        start - Beginning date
        end - Ending date
    • Method Detail

      • getStart

        public long getStart()
        Returns the start of the date span.
        Returns:
        start of the span.
      • getEnd

        public long getEnd()
        Returns the end of the date span.
        Returns:
        end of the span.
      • getStartAsDate

        public Date getStartAsDate()
        Returns the start of the date span as a Date.
        Returns:
        start of the span.
      • getEndAsDate

        public Date getEndAsDate()
        Returns the end of the date span as a Date.
        Returns:
        end of the span.
      • contains

        public boolean contains​(DateSpan span)
        Returns true if this DateSpan contains the specified DateSpan.
        Parameters:
        span - Date to check
        Returns:
        true if this DateSpan contains span.
      • contains

        public boolean contains​(long time)
        Returns whether or not this DateSpan contains the specified time.
        Parameters:
        time - time check
        Returns:
        true if this DateSpan contains time.
      • contains

        public boolean contains​(long start,
                                long end)
        Returns whether or not this DateSpan contains the specified date span.
        Parameters:
        start - Start of time span
        end - End of time
        Returns:
        true if this DateSpan contains the specified date span.
      • intersects

        public boolean intersects​(long start,
                                  long end)
        Returns true if the this DateSpan intersects with the specified time.
        Parameters:
        start - Start time
        end - End time
        Returns:
        true if this DateSpan intersects with the specified time.
      • intersects

        public boolean intersects​(DateSpan span)
        Returns true if the this DateSpan intersects with the specified DateSpan.
        Parameters:
        span - DateSpan to compare to
        Returns:
        true if this DateSpan intersects with the specified time.
      • add

        public DateSpan add​(DateSpan span)
        Returns a new DateSpan that is the union of this DateSpan and span.
        Parameters:
        span - DateSpan to add
        Returns:
        union of this DateSpan and span
      • add

        public DateSpan add​(long start,
                            long end)
        Returns a new DateSpan that is the union of this DateSpan and the passed in span.
        Parameters:
        start - Start of region to add
        end - End of region to end
        Returns:
        union of this DateSpan and start, end
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object