## org.jfree.data.time
Class SimpleTimePeriod

    java.lang.Object
      org.jfree.data.time.SimpleTimePeriod

All Implemented Interfaces:
  java.io.Serializable, java.lang.Comparable, TimePeriod

    public class SimpleTimePeriod

extends java.lang.Object
implements TimePeriod, java.lang.Comparable, java.io.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:
  Serialized Form

Constructor Summary
`SimpleTimePeriod(java.util.Date start, java.util.Date end)` Creates a new time allocation.
`SimpleTimePeriod(long start, long end)` Creates a new time allocation.

Method Summary
`int` `compareTo(java.lang.Object obj)` Returns an integer that indicates the relative ordering of two time periods.
`boolean` `equals(java.lang.Object obj)` Tests this time period instance for equality with an arbitrary object.
`java.util.Date` `getEnd()` Returns the end date/time.
`java.util.Date` `getStart()` Returns the start date/time.
`int` `hashCode()` Returns a hash code for this object instance.

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### 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(java.util.Date start,
                            java.util.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 Detail

### getStart

    public java.util.Date getStart()

  Returns the start date/time.

  Specified by:
    `getStart` in interface `TimePeriod`
  Returns:
    The start date/time (never `null`).

### getEnd

    public java.util.Date getEnd()

  Returns the end date/time.

  Specified by:
    `getEnd` in interface `TimePeriod`
  Returns:
    The end date/time (never `null`).

### equals

    public boolean equals(java.lang.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 `java.lang.Object`
  Parameters:
    `obj` - the other object (`null` permitted).
  Returns:
    A boolean.

### compareTo

    public int compareTo(java.lang.Object obj)

  Returns an integer that indicates the relative ordering of two time periods.

  Specified by:
    `compareTo` in interface `java.lang.Comparable`
  Parameters:
    `obj` - the object (`null` not permitted).
  Returns:
    An integer.
  Throws:
    `java.lang.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 `java.lang.Object`
  Returns:
    A hash code.