Package org.jfree.data.time
Class Quarter
- java.lang.Object
-
- org.jfree.data.time.RegularTimePeriod
-
- org.jfree.data.time.Quarter
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Comparable,MonthConstants,TimePeriod
public class Quarter extends RegularTimePeriod implements java.io.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 allRegularTimePeriodsubclasses.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static int[]FIRST_MONTH_IN_QUARTERThe first month in each quarter.static intFIRST_QUARTERConstant for quarter 1.private longfirstMillisecondThe first millisecond.static int[]LAST_MONTH_IN_QUARTERThe last month in each quarter.static intLAST_QUARTERConstant for quarter 4.private longlastMillisecondThe last millisecond.private bytequarterThe quarter (1-4).private static longserialVersionUIDFor serialization.private shortyearThe year in which the quarter falls.
-
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(java.util.Date time)Constructs a new instance, based on a date/time.Quarter(java.util.Date time, java.util.Calendar calendar)Constructs a new instance, based on a particular date/time.Quarter(java.util.Date time, java.util.TimeZone zone, java.util.Locale locale)Creates a newQuarterinstance, using the specified zone and locale.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description intcompareTo(java.lang.Object o1)Returns an integer indicating the order of this Quarter object relative to the specified object: negative == before, zero == same, positive == after.booleanequals(java.lang.Object obj)Tests the equality of this Quarter object to an arbitrary object.longgetFirstMillisecond()Returns the first millisecond of the quarter.longgetFirstMillisecond(java.util.Calendar calendar)Returns the first millisecond in the Quarter, evaluated using the supplied calendar (which determines the time zone).longgetLastMillisecond()Returns the last millisecond of the quarter.longgetLastMillisecond(java.util.Calendar calendar)Returns the last millisecond of the Quarter, evaluated using the supplied calendar (which determines the time zone).intgetQuarter()Returns the quarter.longgetSerialIndex()Returns a serial index number for the quarter.YeargetYear()Returns the year.intgetYearValue()Returns the year.inthashCode()Returns a hash code for this object instance.RegularTimePeriodnext()Returns the quarter following this one.static QuarterparseQuarter(java.lang.String s)Parses the string argument as a quarter.voidpeg(java.util.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).RegularTimePeriodprevious()Returns the quarter preceding this one.java.lang.StringtoString()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 Detail
-
serialVersionUID
private static final long serialVersionUID
For serialization.- See Also:
- Constant Field Values
-
FIRST_QUARTER
public static final int FIRST_QUARTER
Constant for quarter 1.- See Also:
- Constant Field Values
-
LAST_QUARTER
public static final int LAST_QUARTER
Constant for quarter 4.- See Also:
- Constant Field Values
-
FIRST_MONTH_IN_QUARTER
public static final int[] FIRST_MONTH_IN_QUARTER
The first month in each quarter.
-
LAST_MONTH_IN_QUARTER
public static final int[] LAST_MONTH_IN_QUARTER
The last month in each quarter.
-
year
private short year
The year in which the quarter falls.
-
quarter
private byte quarter
The quarter (1-4).
-
firstMillisecond
private long firstMillisecond
The first millisecond.
-
lastMillisecond
private long lastMillisecond
The last millisecond.
-
-
Constructor Detail
-
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
public Quarter(int quarter, Year year)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
public Quarter(java.util.Date time)
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 (nullnot permitted).- See Also:
Quarter(Date, TimeZone, Locale)
-
Quarter
public Quarter(java.util.Date time, java.util.TimeZone zone, java.util.Locale locale)Creates a newQuarterinstance, using the specified zone and locale.- Parameters:
time- the current time.zone- the time zone.locale- the locale.
-
Quarter
public Quarter(java.util.Date time, java.util.Calendar calendar)Constructs a new instance, based on a particular date/time. The time zone and locale are determined by thecalendarparameter.- Parameters:
time- the date/time (nullnot permitted).calendar- the calendar to use for calculations (nullnot permitted).
-
-
Method Detail
-
getQuarter
public int getQuarter()
Returns the quarter.- Returns:
- The quarter.
-
getYear
public Year 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:
getFirstMillisecondin classRegularTimePeriod- Returns:
- The first millisecond of the quarter.
- See Also:
getLastMillisecond()
-
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:
getLastMillisecondin classRegularTimePeriod- Returns:
- The last millisecond of the quarter.
- See Also:
getFirstMillisecond()
-
peg
public void peg(java.util.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).- Specified by:
pegin classRegularTimePeriod- Parameters:
calendar- the calendar (nullnot permitted).
-
previous
public RegularTimePeriod 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:
previousin classRegularTimePeriod- Returns:
- The quarter preceding this one (or
nullif this is Q1 1900).
-
next
public RegularTimePeriod 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:
nextin 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:
getSerialIndexin classRegularTimePeriod- Returns:
- The serial index number.
-
equals
public boolean equals(java.lang.Object obj)
Tests the equality of this Quarter object to an arbitrary object. Returnstrueif the target is a Quarter instance representing the same quarter as this object. In all other cases, returnsfalse.- Overrides:
equalsin classjava.lang.Object- Parameters:
obj- the object (nullpermitted).- Returns:
trueif quarter and year of this and the object are the same.
-
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- Overrides:
hashCodein classjava.lang.Object- Returns:
- A hash code.
-
compareTo
public int compareTo(java.lang.Object o1)
Returns an integer indicating the order of this Quarter object relative to the specified object: negative == before, zero == same, positive == after.- Specified by:
compareToin interfacejava.lang.Comparable- Parameters:
o1- the object to compare- Returns:
- negative == before, zero == same, positive == after.
-
toString
public java.lang.String toString()
Returns a string representing the quarter (e.g. "Q1/2002").- Overrides:
toStringin classRegularTimePeriod- Returns:
- A string representing the quarter.
-
getFirstMillisecond
public long getFirstMillisecond(java.util.Calendar calendar)
Returns the first millisecond in the Quarter, evaluated using the supplied calendar (which determines the time zone).- Specified by:
getFirstMillisecondin classRegularTimePeriod- Parameters:
calendar- the calendar (nullnot permitted).- Returns:
- The first millisecond in the Quarter.
- Throws:
java.lang.NullPointerException- ifcalendarisnull.- See Also:
RegularTimePeriod.getLastMillisecond(Calendar)
-
getLastMillisecond
public long getLastMillisecond(java.util.Calendar calendar)
Returns the last millisecond of the Quarter, evaluated using the supplied calendar (which determines the time zone).- Specified by:
getLastMillisecondin classRegularTimePeriod- Parameters:
calendar- the calendar (nullnot permitted).- Returns:
- The last millisecond of the Quarter.
- Throws:
java.lang.NullPointerException- ifcalendarisnull.- See Also:
RegularTimePeriod.getFirstMillisecond(Calendar)
-
parseQuarter
public static Quarter parseQuarter(java.lang.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.
-
-