org.jfree.data.time

Class Quarter

Implemented Interfaces:
Comparable, MonthConstants, Serializable, TimePeriod

public class Quarter
extends RegularTimePeriod
implements Serializable

Defines a quarter (in a given year). The range supported is Q1 1900 to Q4 9999. This class is immutable, which is a requirement for all RegularTimePeriod subclasses.

Field Summary

static int[]
FIRST_MONTH_IN_QUARTER
The first month in each quarter.
static int
FIRST_QUARTER
Constant for quarter 1.
static int[]
LAST_MONTH_IN_QUARTER
The last month in each quarter.
static int
LAST_QUARTER
Constant for quarter 4.

Fields inherited from class org.jfree.data.time.RegularTimePeriod

DEFAULT_TIME_ZONE, WORKING_CALENDAR

Constructor Summary

Quarter()
Constructs a new Quarter, based on the current system date/time.
Quarter(Date time)
Constructs a new Quarter, based on a date/time and the default time zone.
Quarter(Date time, TimeZone zone)
Constructs a Quarter, based on a date/time and time zone.
Quarter(int quarter, int year)
Constructs a new quarter.
Quarter(int quarter, Year year)
Constructs a new quarter.

Method Summary

int
compareTo(Object o1)
Returns an integer indicating the order of this Quarter object relative to the specified object: negative == before, zero == same, positive == after.
boolean
equals(Object obj)
Tests the equality of this Quarter object to an arbitrary object.
long
getFirstMillisecond()
Returns the first millisecond of the quarter.
long
getFirstMillisecond(Calendar calendar)
Returns the first millisecond in the Quarter, evaluated using the supplied calendar (which determines the time zone).
long
getLastMillisecond()
Returns the last millisecond of the quarter.
long
getLastMillisecond(Calendar calendar)
Returns the last millisecond of the Quarter, evaluated using the supplied calendar (which determines the time zone).
int
getQuarter()
Returns the quarter.
long
getSerialIndex()
Returns a serial index number for the quarter.
Year
getYear()
Returns the year.
int
getYearValue()
Returns the year.
int
hashCode()
Returns a hash code for this object instance.
RegularTimePeriod
next()
Returns the quarter following this one.
static Quarter
parseQuarter(String s)
Parses the string argument as a quarter.
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).
RegularTimePeriod
previous()
Returns the quarter preceding this one.
String
toString()
Returns a string representing the quarter (e.g.

Methods inherited from class org.jfree.data.time.RegularTimePeriod

createInstance, downsize, getEnd, getFirstMillisecond, getFirstMillisecond, getFirstMillisecond, getLastMillisecond, getLastMillisecond, getLastMillisecond, getMiddleMillisecond, getMiddleMillisecond, getMiddleMillisecond, getSerialIndex, getStart, next, peg, previous, toString

Field Details

FIRST_MONTH_IN_QUARTER

public static final int[] FIRST_MONTH_IN_QUARTER
The first month in each quarter.

FIRST_QUARTER

public static final int FIRST_QUARTER
Constant for quarter 1.
Field Value:
1

LAST_MONTH_IN_QUARTER

public static final int[] LAST_MONTH_IN_QUARTER
The last month in each quarter.

LAST_QUARTER

public static final int LAST_QUARTER
Constant for quarter 4.
Field Value:
4

Constructor Details

Quarter

public Quarter()
Constructs a new Quarter, based on the current system date/time.

Quarter

public Quarter(Date time)
Constructs a new Quarter, based on a date/time and the default time zone.
Parameters:
time - the date/time.

Quarter

public Quarter(Date time,
               TimeZone zone)
Constructs a Quarter, based on a date/time and time zone.
Parameters:
time - the date/time.
zone - the zone (null not permitted).

Quarter

public Quarter(int quarter,
               int year)
Constructs a new quarter.
Parameters:
quarter - the quarter (1 to 4).
year - the year (1900 to 9999).

Quarter

public Quarter(int quarter,
               Year year)
Constructs a new quarter.
Parameters:
quarter - the quarter (1 to 4).
year - the year (1900 to 9999).

Method Details

compareTo

public int compareTo(Object o1)
Returns an integer indicating the order of this Quarter object relative to the specified object: negative == before, zero == same, positive == after.
Parameters:
o1 - the object to compare
Returns:
negative == before, zero == same, positive == after.

equals

public boolean equals(Object obj)
Tests the equality of this Quarter object to an arbitrary object. Returns true if the target is a Quarter instance representing the same quarter as this object. In all other cases, returns false.
Parameters:
obj - the object (null permitted).
Returns:
true if quarter and year of this and the object are the same.

getFirstMillisecond

public long getFirstMillisecond()
Returns the first millisecond of the quarter. 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(Calendar) method.
Overrides:
getFirstMillisecond in interface RegularTimePeriod
Returns:
The first millisecond of the quarter.

getFirstMillisecond

public long getFirstMillisecond(Calendar calendar)
Returns the first millisecond in the Quarter, evaluated using the supplied calendar (which determines the time zone).
Overrides:
getFirstMillisecond in interface RegularTimePeriod
Parameters:
calendar - the calendar (null not permitted).
Returns:
The first millisecond in the Quarter.

getLastMillisecond

public long getLastMillisecond()
Returns the last millisecond of the quarter. 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(Calendar) method.
Overrides:
getLastMillisecond in interface RegularTimePeriod
Returns:
The last millisecond of the quarter.

getLastMillisecond

public long getLastMillisecond(Calendar calendar)
Returns the last millisecond of the Quarter, evaluated using the supplied calendar (which determines the time zone).
Overrides:
getLastMillisecond in interface RegularTimePeriod
Parameters:
calendar - the calendar (null not permitted).
Returns:
The last millisecond of the Quarter.

getQuarter

public int getQuarter()
Returns the quarter.
Returns:
The quarter.

getSerialIndex

public long getSerialIndex()
Returns a serial index number for the quarter.
Overrides:
getSerialIndex in interface RegularTimePeriod
Returns:
The serial index number.

getYear

public Year getYear()
Returns the year.
Returns:
The year.

getYearValue

public int getYearValue()
Returns the year.
Returns:
The year.
Since:
1.0.3

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:

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

Returns:
A hash code.

next

public RegularTimePeriod next()
Returns the quarter following this one.
Overrides:
next in interface RegularTimePeriod
Returns:
The quarter following this one (or null if this is Q4 9999).

parseQuarter

public static Quarter parseQuarter(String s)
Parses the string argument as a quarter.

This method should accept the following formats: "YYYY-QN" and "QN-YYYY", where the "-" can be a space, a forward-slash (/), comma or a dash (-).

Parameters:
s - A string representing the quarter.
Returns:
The quarter.

peg

public 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).
Overrides:
peg in interface RegularTimePeriod
Parameters:
calendar - the calendar (null not permitted).
Since:
1.0.3

previous

public RegularTimePeriod previous()
Returns the quarter preceding this one.
Overrides:
previous in interface RegularTimePeriod
Returns:
The quarter preceding this one (or null if this is Q1 1900).

toString

public String toString()
Returns a string representing the quarter (e.g. "Q1/2002").
Overrides:
toString in interface RegularTimePeriod
Returns:
A string representing the quarter.