java.lang.Object
org.jfree.data.time.RegularTimePeriod
org.jfree.data.time.Quarter
- All Implemented Interfaces:
Serializable
,Comparable
,MonthConstants
,TimePeriod
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:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int[]
The first month in each quarter.static final int
Constant for quarter 1.static final int[]
The last month in each quarter.static final int
Constant for quarter 4. -
Constructor Summary
ConstructorDescriptionQuarter()
Constructs a new Quarter, based on the current system date/time.Quarter
(int quarter, int year) Constructs a new quarter.Constructs a new quarter.Constructs a new instance, based on a date/time.Constructs a new instance, based on a particular date/time.Creates a newQuarter
instance, using the specified zone and locale. -
Method Summary
Modifier and TypeMethodDescriptionint
Returns an integer indicating the order of this Quarter object relative to the specified object: negative == before, zero == same, positive == after.boolean
Tests the equality of this Quarter object to an arbitrary object.long
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
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
Returns the quarter.long
Returns a serial index number for the quarter.getYear()
Returns the year.int
Returns the year.int
hashCode()
Returns a hash code for this object instance.next()
Returns the quarter following this one.static Quarter
Parses the string argument as a quarter.void
Recalculates the start date/time and end date/time for this time period relative to the supplied calendar (which incorporates a time zone).previous()
Returns the quarter preceding this one.toString()
Returns a string representing the quarter (e.g.Methods inherited from class org.jfree.data.time.RegularTimePeriod
createInstance, downsize, getCalendarInstance, getEnd, getMiddleMillisecond, getMiddleMillisecond, getMillisecond, getStart, setCalendarInstancePrototype, setThreadLocalCalendarInstance
-
Field Details
-
FIRST_QUARTER
public static final int FIRST_QUARTERConstant for quarter 1.- See Also:
-
LAST_QUARTER
public static final int LAST_QUARTERConstant for quarter 4.- See Also:
-
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. The time zone and locale are determined by the calendar returned byRegularTimePeriod.getCalendarInstance()
. -
Quarter
public Quarter(int quarter, int year) Constructs a new quarter. The time zone and locale are determined by the calendar returned byRegularTimePeriod.getCalendarInstance()
.- Parameters:
year
- the year (1900 to 9999).quarter
- the quarter (1 to 4).
-
Quarter
Constructs a new quarter. The time zone and locale are determined by the calendar returned byRegularTimePeriod.getCalendarInstance()
.- Parameters:
quarter
- the quarter (1 to 4).year
- the year (1900 to 9999).
-
Quarter
Constructs a new instance, based on a date/time. The time zone and locale are determined by the calendar returned byRegularTimePeriod.getCalendarInstance()
.- Parameters:
time
- the date/time (null
not permitted).- See Also:
-
Quarter
Creates a newQuarter
instance, using the specified zone and locale.- Parameters:
time
- the current time.zone
- the time zone.locale
- the locale.
-
Quarter
Constructs a new instance, based on a particular date/time. The time zone and locale are determined by thecalendar
parameter.- Parameters:
time
- the date/time (null
not permitted).calendar
- the calendar to use for calculations (null
not permitted).
-
-
Method Details
-
getQuarter
public int getQuarter()Returns the quarter.- Returns:
- The quarter.
-
getYear
Returns the year.- Returns:
- The year.
-
getYearValue
public int getYearValue()Returns the year.- Returns:
- The year.
-
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 thepeg(Calendar)
method.- Specified by:
getFirstMillisecond
in classRegularTimePeriod
- Returns:
- The first millisecond of the quarter.
- See Also:
-
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 thepeg(Calendar)
method.- Specified by:
getLastMillisecond
in classRegularTimePeriod
- Returns:
- The last millisecond of the quarter.
- See Also:
-
peg
Recalculates the start date/time and end date/time for this time period relative to the supplied calendar (which incorporates a time zone).- Specified by:
peg
in classRegularTimePeriod
- Parameters:
calendar
- the calendar (null
not permitted).
-
previous
Returns the quarter preceding this one. No matter what time zone and locale this instance was created with, the returned instance will use the default calendar for time calculations, obtained withRegularTimePeriod.getCalendarInstance()
.- 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. No matter what time zone and locale this instance was created with, the returned instance will use the default calendar for time calculations, obtained withRegularTimePeriod.getCalendarInstance()
.- 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. Returnstrue
if the target is a Quarter instance representing the same quarter as this object. In all other cases, returnsfalse
. -
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 (null
not permitted).- Returns:
- The first millisecond in the Quarter.
- Throws:
NullPointerException
- ifcalendar
isnull
.- See Also:
-
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 (null
not permitted).- Returns:
- The last millisecond of the Quarter.
- Throws:
NullPointerException
- ifcalendar
isnull
.- See Also:
-
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.
-