- java.lang.Object
-
- org.jfree.data.time.RegularTimePeriod
-
- org.jfree.data.time.Month
-
- All Implemented Interfaces:
Serializable,Comparable,MonthConstants,TimePeriod
public class Month extends RegularTimePeriod implements Serializable
Represents a single month. This class is immutable, which is a requirement for allRegularTimePeriodsubclasses.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description Month()Constructs a new Month, based on the current system time.Month(int month, int year)Constructs a new month instance.Month(int month, Year year)Constructs a new month instance.Month(Date time)Constructs a newMonthinstance, based on a date/time.Month(Date time, Calendar calendar)Constructs a new instance, based on a particular date/time.Month(Date time, TimeZone zone, Locale locale)Creates a newMonthinstance, based on the specified time, zone and locale.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description intcompareTo(Object o1)Returns an integer indicating the order of this Month object relative to the specified object: negative == before, zero == same, positive == after.booleanequals(Object obj)Tests the equality of this Month object to an arbitrary object.longgetFirstMillisecond()Returns the first millisecond of the month.longgetFirstMillisecond(Calendar calendar)Returns the first millisecond of the month, evaluated using the supplied calendar (which determines the time zone).longgetLastMillisecond()Returns the last millisecond of the month.longgetLastMillisecond(Calendar calendar)Returns the last millisecond of the month, evaluated using the supplied calendar (which determines the time zone).intgetMonth()Returns the month.longgetSerialIndex()Returns a serial index number for the month.YeargetYear()Returns the year in which the month falls.intgetYearValue()Returns the year in which the month falls.inthashCode()Returns a hash code for this object instance.RegularTimePeriodnext()Returns the month following this one.static MonthparseMonth(String s)Parses the string argument as a month.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).RegularTimePeriodprevious()Returns the month preceding this one.StringtoString()Returns a string representing the month (e.g.-
Methods inherited from class org.jfree.data.time.RegularTimePeriod
createInstance, downsize, getCalendarInstance, getEnd, getMiddleMillisecond, getMiddleMillisecond, getMillisecond, getStart, setCalendarInstancePrototype, setThreadLocalCalendarInstance
-
-
-
-
Constructor Detail
-
Month
public Month()
Constructs a new Month, based on the current system time. The time zone and locale are determined by the calendar returned byRegularTimePeriod.getCalendarInstance().
-
Month
public Month(int month, int year)
Constructs a new month instance. The time zone and locale are determined by the calendar returned byRegularTimePeriod.getCalendarInstance().- Parameters:
month- the month (in the range 1 to 12).year- the year.
-
Month
public Month(int month, Year year)
Constructs a new month instance. The time zone and locale are determined by the calendar returned byRegularTimePeriod.getCalendarInstance().- Parameters:
month- the month (in the range 1 to 12).year- the year.
-
Month
public Month(Date time)
Constructs a newMonthinstance, 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:
Month(Date, TimeZone, Locale)
-
Month
public Month(Date time, TimeZone zone, Locale locale)
Creates a newMonthinstance, based on the specified time, zone and locale.- Parameters:
time- the current time.zone- the time zone.locale- the locale.- Since:
- 1.0.12
-
Month
public Month(Date time, 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
-
getYear
public Year getYear()
Returns the year in which the month falls.- Returns:
- The year in which the month falls (as a Year object).
-
getYearValue
public int getYearValue()
Returns the year in which the month falls.- Returns:
- The year in which the month falls (as an int).
-
getMonth
public int getMonth()
Returns the month. Note that 1=JAN, 2=FEB, ...- Returns:
- The month.
-
getFirstMillisecond
public long getFirstMillisecond()
Returns the first millisecond of the month. 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 month.
- See Also:
getLastMillisecond()
-
getLastMillisecond
public long getLastMillisecond()
Returns the last millisecond of the month. 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 month.
- See Also:
getFirstMillisecond()
-
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).- Specified by:
pegin classRegularTimePeriod- Parameters:
calendar- the calendar (nullnot permitted).- Since:
- 1.0.3
-
previous
public RegularTimePeriod previous()
Returns the month preceding this one. Note that the returnedMonthis "pegged" using the default calendar, obtained withRegularTimePeriod.getCalendarInstance(), irrespective of the time-zone used to peg of the current month (which is not recorded anywhere). See thepeg(Calendar)method.- Specified by:
previousin classRegularTimePeriod- Returns:
- The month preceding this one.
-
next
public RegularTimePeriod next()
Returns the month following this one. Note that the returnedMonthis "pegged" using the default calendar, obtained withRegularTimePeriod.getCalendarInstance(), irrespective of the time-zone used to peg of the current month (which is not recorded anywhere). See thepeg(Calendar)method.- Specified by:
nextin classRegularTimePeriod- Returns:
- The month following this one.
-
getSerialIndex
public long getSerialIndex()
Returns a serial index number for the month.- Specified by:
getSerialIndexin classRegularTimePeriod- Returns:
- The serial index number.
-
toString
public String toString()
Returns a string representing the month (e.g. "January 2002").To do: look at internationalisation.
- Overrides:
toStringin classRegularTimePeriod- Returns:
- A string representing the month.
-
equals
public boolean equals(Object obj)
Tests the equality of this Month object to an arbitrary object. Returns true if the target is a Month instance representing the same month 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
public int compareTo(Object o1)
Returns an integer indicating the order of this Month object relative to the specified object: negative == before, zero == same, positive == after.- Specified by:
compareToin interfaceComparable- Parameters:
o1- the object to compare.- Returns:
- negative == before, zero == same, positive == after.
-
getFirstMillisecond
public long getFirstMillisecond(Calendar calendar)
Returns the first millisecond of the month, evaluated using the supplied calendar (which determines the time zone).- Specified by:
getFirstMillisecondin classRegularTimePeriod- Parameters:
calendar- the calendar (nullnot permitted).- Returns:
- The first millisecond of the month.
- Throws:
NullPointerException- ifcalendarisnull.- See Also:
RegularTimePeriod.getLastMillisecond(Calendar)
-
getLastMillisecond
public long getLastMillisecond(Calendar calendar)
Returns the last millisecond of the month, 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 month.
- Throws:
NullPointerException- ifcalendarisnull.- See Also:
RegularTimePeriod.getFirstMillisecond(Calendar)
-
parseMonth
public static Month parseMonth(String s)
Parses the string argument as a month. This method is required to accept the format "YYYY-MM". It will also accept "MM-YYYY". Anything else, at the moment, is a bonus.- Parameters:
s- the string to parse (nullpermitted).- Returns:
nullif the string is not parseable, the month otherwise.
-
-