Class SimpleTimePeriod

java.lang.Object
org.jfree.data.time.SimpleTimePeriod
All Implemented Interfaces:
Serializable, Comparable, TimePeriod

public class SimpleTimePeriod extends Object implements TimePeriod, Comparable, Serializable
An arbitrary period of time, measured to millisecond precision using java.util.Date.

This class is intentionally immutable (that is, once constructed, you cannot alter the start and end attributes).

See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private long
    The end date/time.
    private static final long
    For serialization.
    private long
    The start date/time.
  • Constructor Summary

    Constructors
    Constructor
    Description
    SimpleTimePeriod(long start, long end)
    Creates a new time allocation.
    SimpleTimePeriod(Date start, Date end)
    Creates a new time allocation.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Returns an integer that indicates the relative ordering of two time periods.
    boolean
    Tests this time period instance for equality with an arbitrary object.
    Returns the end date/time.
    long
    Returns the end date/time in milliseconds.
    Returns the start date/time.
    long
    Returns the start date/time in milliseconds.
    int
    Returns a hash code for this object instance.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      For serialization.
      See Also:
    • start

      private long start
      The start date/time.
    • end

      private long end
      The end date/time.
  • Constructor Details

    • SimpleTimePeriod

      public SimpleTimePeriod(long start, long end)
      Creates a new time allocation.
      Parameters:
      start - the start date/time in milliseconds.
      end - the end date/time in milliseconds.
    • SimpleTimePeriod

      public SimpleTimePeriod(Date start, Date end)
      Creates a new time allocation.
      Parameters:
      start - the start date/time (null not permitted).
      end - the end date/time (null not permitted).
  • Method Details

    • getStart

      public Date getStart()
      Returns the start date/time.
      Specified by:
      getStart in interface TimePeriod
      Returns:
      The start date/time (never null).
    • getStartMillis

      public long getStartMillis()
      Returns the start date/time in milliseconds.
      Returns:
      The start.
    • getEnd

      public Date getEnd()
      Returns the end date/time.
      Specified by:
      getEnd in interface TimePeriod
      Returns:
      The end date/time (never null).
    • getEndMillis

      public long getEndMillis()
      Returns the end date/time in milliseconds.
      Returns:
      The end.
    • equals

      public boolean equals(Object obj)
      Tests this time period instance for equality with an arbitrary object. The object is considered equal if it is an instance of TimePeriod and it has the same start and end dates.
      Overrides:
      equals in class Object
      Parameters:
      obj - the other object (null permitted).
      Returns:
      A boolean.
    • compareTo

      public int compareTo(Object obj)
      Returns an integer that indicates the relative ordering of two time periods.
      Specified by:
      compareTo in interface Comparable
      Parameters:
      obj - the object (null not permitted).
      Returns:
      An integer.
      Throws:
      ClassCastException - if obj is not an instance of TimePeriod.
    • hashCode

      public int hashCode()
      Returns a hash code for this object instance. The approach described by Joshua Bloch in "Effective Java" has been used here - see:

      http://developer.java.sun.com/ developer/Books/effectivejava/Chapter3.pdf

      Overrides:
      hashCode in class Object
      Returns:
      A hash code.