org.jfree.data.time
Class SimpleTimePeriod

java.lang.Object
  extended byorg.jfree.data.time.SimpleTimePeriod
All Implemented Interfaces:
java.lang.Comparable, java.io.Serializable, 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.

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

Returns:
A hash code.