org.jfree.data.time

Class RegularTimePeriod

public abstract class RegularTimePeriod extends Object implements TimePeriod, Comparable, MonthConstants

An abstract class representing a unit of time. Convenient methods are provided for calculating the next and previous time periods. Conversion methods are defined that return the first and last milliseconds of the time period. The results from these methods are timezone dependent.

This class is immutable, and all subclasses should be immutable also.

Field Summary
static TimeZoneDEFAULT_TIME_ZONE
The default time zone.
static CalendarWORKING_CALENDAR
A working calendar (recycle to avoid unnecessary object creation).
Method Summary
static RegularTimePeriodcreateInstance(Class c, Date millisecond, TimeZone zone)
Creates a time period that includes the specified millisecond, assuming the given time zone.
static Classdownsize(Class c)
Returns a subclass of RegularTimePeriod that is smaller than the specified class.
DategetEnd()
Returns the date/time that marks the end of the time period.
abstract longgetFirstMillisecond()
Returns the first millisecond of the time period.
longgetFirstMillisecond(TimeZone zone)
Returns the first millisecond of the time period, evaluated within a specific time zone.
abstract longgetFirstMillisecond(Calendar calendar)
Returns the first millisecond of the time period, evaluated using the supplied calendar (which incorporates a timezone).
abstract longgetLastMillisecond()
Returns the last millisecond of the time period.
longgetLastMillisecond(TimeZone zone)
Returns the last millisecond of the time period, evaluated within a specific time zone.
abstract longgetLastMillisecond(Calendar calendar)
Returns the last millisecond of the time period, evaluated using the supplied calendar (which incorporates a timezone).
longgetMiddleMillisecond()
Returns the millisecond closest to the middle of the time period.
longgetMiddleMillisecond(TimeZone zone)
Returns the millisecond closest to the middle of the time period, evaluated within a specific time zone.
longgetMiddleMillisecond(Calendar calendar)
Returns the millisecond closest to the middle of the time period, evaluated using the supplied calendar (which incorporates a timezone).
abstract longgetSerialIndex()
Returns a serial index number for the time unit.
DategetStart()
Returns the date/time that marks the start of the time period.
abstract RegularTimePeriodnext()
Returns the time period following this one, or null if some limit has been reached.
abstract voidpeg(Calendar calendar)
Recalculates the start date/time and end date/time for this time period relative to the supplied calendar (which incorporates a time zone).
abstract RegularTimePeriodprevious()
Returns the time period preceding this one, or null if some lower limit has been reached.
StringtoString()
Returns a string representation of the time period.

Field Detail

DEFAULT_TIME_ZONE

public static final TimeZone DEFAULT_TIME_ZONE
The default time zone.

WORKING_CALENDAR

public static final Calendar WORKING_CALENDAR

Deprecated: This was a bad idea, don't use it!

A working calendar (recycle to avoid unnecessary object creation).

Method Detail

createInstance

public static RegularTimePeriod createInstance(Class c, Date millisecond, TimeZone zone)
Creates a time period that includes the specified millisecond, assuming the given time zone.

Parameters: c the time period class. millisecond the time. zone the time zone.

Returns: The time period.

downsize

public static Class downsize(Class c)
Returns a subclass of RegularTimePeriod that is smaller than the specified class.

Parameters: c a subclass of RegularTimePeriod.

Returns: A class.

getEnd

public Date getEnd()
Returns the date/time that marks the end of the time period. This method returns a new Date instance every time it is called.

Returns: The end date/time.

See Also: getLastMillisecond

getFirstMillisecond

public abstract long getFirstMillisecond()
Returns the first millisecond of the time period. This will be determined relative to the time zone specified in the constructor, or in the calendar instance passed in the most recent call to the peg method.

Returns: The first millisecond of the time period.

See Also: getLastMillisecond

getFirstMillisecond

public long getFirstMillisecond(TimeZone zone)

Deprecated: As of 1.0.3, you should avoid using this method (it creates a new Calendar instance every time it is called). You are advised to call getFirstMillisecond instead.

Returns the first millisecond of the time period, evaluated within a specific time zone.

Parameters: zone the time zone (null not permitted).

Returns: The first millisecond of the time period.

See Also: getLastMillisecond

getFirstMillisecond

public abstract long getFirstMillisecond(Calendar calendar)
Returns the first millisecond of the time period, evaluated using the supplied calendar (which incorporates a timezone).

Parameters: calendar the calendar (null not permitted).

Returns: The first millisecond of the time period.

Throws: NullPointerException if calendar,/code> is null.

See Also: getLastMillisecond

getLastMillisecond

public abstract long getLastMillisecond()
Returns the last millisecond of the time period. This will be determined relative to the time zone specified in the constructor, or in the calendar instance passed in the most recent call to the peg method.

Returns: The last millisecond of the time period.

See Also: getFirstMillisecond

getLastMillisecond

public long getLastMillisecond(TimeZone zone)

Deprecated: As of 1.0.3, you should avoid using this method (it creates a new Calendar instance every time it is called). You are advised to call getLastMillisecond instead.

Returns the last millisecond of the time period, evaluated within a specific time zone.

Parameters: zone the time zone (null not permitted).

Returns: The last millisecond of the time period.

See Also: getFirstMillisecond

getLastMillisecond

public abstract long getLastMillisecond(Calendar calendar)
Returns the last millisecond of the time period, evaluated using the supplied calendar (which incorporates a timezone).

Parameters: calendar the calendar (null not permitted).

Returns: The last millisecond of the time period.

See Also: getFirstMillisecond

getMiddleMillisecond

public long getMiddleMillisecond()
Returns the millisecond closest to the middle of the time period.

Returns: The middle millisecond.

getMiddleMillisecond

public long getMiddleMillisecond(TimeZone zone)

Deprecated: As of 1.0.3, you should avoid using this method (it creates a new Calendar instance every time it is called). You are advised to call getMiddleMillisecond instead.

Returns the millisecond closest to the middle of the time period, evaluated within a specific time zone.

Parameters: zone the time zone (null not permitted).

Returns: The middle millisecond.

getMiddleMillisecond

public long getMiddleMillisecond(Calendar calendar)
Returns the millisecond closest to the middle of the time period, evaluated using the supplied calendar (which incorporates a timezone).

Parameters: calendar the calendar.

Returns: The middle millisecond.

getSerialIndex

public abstract long getSerialIndex()
Returns a serial index number for the time unit.

Returns: The serial index number.

getStart

public Date getStart()
Returns the date/time that marks the start of the time period. This method returns a new Date instance every time it is called.

Returns: The start date/time.

See Also: getFirstMillisecond

next

public abstract RegularTimePeriod next()
Returns the time period following this one, or null if some limit has been reached.

Returns: The next time period (possibly null).

peg

public abstract void peg(Calendar calendar)
Recalculates the start date/time and end date/time for this time period relative to the supplied calendar (which incorporates a time zone).

Parameters: calendar the calendar (null not permitted).

Since: 1.0.3

previous

public abstract RegularTimePeriod previous()
Returns the time period preceding this one, or null if some lower limit has been reached.

Returns: The previous time period (possibly null).

toString

public String toString()
Returns a string representation of the time period.

Returns: The string.