Package org.jfree.data.time
Class Quarter
java.lang.Object
org.jfree.data.time.RegularTimePeriod
org.jfree.data.time.Quarter
- All Implemented Interfaces:
Serializable
,Comparable
,TimePeriod
,org.jfree.date.MonthConstants
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.
- See Also:
- Serialized Form
-
Field Summary
Fields Modifier and Type Field Description 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
Fields inherited from interface org.jfree.date.MonthConstants
APRIL, AUGUST, DECEMBER, FEBRUARY, JANUARY, JULY, JUNE, MARCH, MAY, NOVEMBER, OCTOBER, SEPTEMBER
-
Constructor Summary
Constructors Constructor Description Quarter()
Constructs a new Quarter, based on the current system date/time.Quarter(int quarter, int year)
Constructs a new quarter.Quarter(int quarter, Year year)
Constructs a new quarter.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. -
Method Summary
Modifier and Type Method Description 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(Calendar calendar)
Returns the first millisecond in the Quarter, evaluated using the supplied calendar (which determines the time zone).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
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.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
getEnd, getFirstMillisecond, getFirstMillisecond, getLastMillisecond, getLastMillisecond, getMiddleMillisecond, getMiddleMillisecond, getMiddleMillisecond, getStart
-
Field Details
-
FIRST_QUARTER
public static final int FIRST_QUARTERConstant for quarter 1.- See Also:
- Constant Field Values
-
LAST_QUARTER
public static final int LAST_QUARTERConstant for quarter 4.- See Also:
- Constant Field Values
-
FIRST_MONTH_IN_QUARTER
public static final int[] FIRST_MONTH_IN_QUARTERThe first month in each quarter. -
LAST_MONTH_IN_QUARTER
public static final int[] LAST_MONTH_IN_QUARTERThe last month in each quarter.
-
-
Constructor Details
-
Quarter
public Quarter()Constructs a new Quarter, based on the current system date/time. -
Quarter
public Quarter(int quarter, int year)Constructs a new quarter.- Parameters:
year
- the year (1900 to 9999).quarter
- the quarter (1 to 4).
-
Quarter
Constructs a new quarter.- Parameters:
quarter
- the quarter (1 to 4).year
- the year (1900 to 9999).
-
Quarter
Constructs a new Quarter, based on a date/time and the default time zone.- Parameters:
time
- the date/time.
-
Quarter
Constructs a Quarter, based on a date/time and time zone.- Parameters:
time
- the date/time.zone
- the zone.
-
-
Method Details
-
getQuarter
public int getQuarter()Returns the quarter.- Returns:
- The quarter.
-
getYear
Returns the year.- Returns:
- The year.
-
previous
Returns the quarter preceding this one.- Specified by:
previous
in classRegularTimePeriod
- Returns:
- The quarter preceding this one (or null if this is Q1 1900).
-
next
Returns the quarter following this one.- Specified by:
next
in classRegularTimePeriod
- Returns:
- The quarter following this one (or null if this is Q4 9999).
-
getSerialIndex
public long getSerialIndex()Returns a serial index number for the quarter.- Specified by:
getSerialIndex
in classRegularTimePeriod
- Returns:
- The serial index number.
-
equals
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. -
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
-
compareTo
Returns an integer indicating the order of this Quarter object relative to the specified object: negative == before, zero == same, positive == after.- Specified by:
compareTo
in interfaceComparable
- Parameters:
o1
- the object to compare- Returns:
- negative == before, zero == same, positive == after.
-
toString
Returns a string representing the quarter (e.g. "Q1/2002").- Overrides:
toString
in classRegularTimePeriod
- Returns:
- A string representing the quarter.
-
getFirstMillisecond
Returns the first millisecond in the Quarter, evaluated using the supplied calendar (which determines the time zone).- Specified by:
getFirstMillisecond
in classRegularTimePeriod
- Parameters:
calendar
- the calendar.- Returns:
- the first millisecond in the Quarter.
-
getLastMillisecond
Returns the last millisecond of the Quarter, evaluated using the supplied calendar (which determines the time zone).- Specified by:
getLastMillisecond
in classRegularTimePeriod
- Parameters:
calendar
- the calendar.- Returns:
- the last millisecond of the Quarter.
-
parseQuarter
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.
-