Class Month

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable, TimePeriod, org.jfree.date.MonthConstants

    public class Month
    extends RegularTimePeriod
    implements java.io.Serializable
    Represents a single month. This class is immutable, which is a requirement for all RegularTimePeriod subclasses.
    See Also:
    Serialized Form
    • Field Summary

      • 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
      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​(java.util.Date time)
      Constructs a new Month instance, based on a date/time and the default time zone.
      Month​(java.util.Date time, java.util.TimeZone zone)
      Deprecated.
      Since 1.0.12, use Month(Date, TimeZone, Locale) instead.
      Month​(java.util.Date time, java.util.TimeZone zone, java.util.Locale locale)
      Creates a new Month instance, based on the specified time, zone and locale.
    • Constructor Detail

      • Month

        public Month()
        Constructs a new Month, based on the current system time.
      • Month

        public Month​(int month,
                     int year)
        Constructs a new month instance.
        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.
        Parameters:
        month - the month (in the range 1 to 12).
        year - the year.
      • Month

        public Month​(java.util.Date time)
        Constructs a new Month instance, based on a date/time and the default time zone.
        Parameters:
        time - the date/time (null not permitted).
        See Also:
        Month(Date, TimeZone)
      • Month

        public Month​(java.util.Date time,
                     java.util.TimeZone zone)
        Deprecated.
        Since 1.0.12, use Month(Date, TimeZone, Locale) instead.
        Constructs a new Month instance, based on a date/time and a time zone. The first and last millisecond values are initially pegged to the given time zone also.
        Parameters:
        time - the date/time.
        zone - the time zone (null not permitted).
      • Month

        public Month​(java.util.Date time,
                     java.util.TimeZone zone,
                     java.util.Locale locale)
        Creates a new Month instance, based on the specified time, zone and locale.
        Parameters:
        time - the current time.
        zone - the time zone.
        locale - the locale.
        Since:
        1.0.12
    • 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.
      • 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:
        peg in class RegularTimePeriod
        Parameters:
        calendar - the calendar (null not permitted).
        Since:
        1.0.3
      • previous

        public RegularTimePeriod previous()
        Returns the month preceding this one. Note that the returned Month is "pegged" using the default time-zone, irrespective of the time-zone used to peg of the current month (which is not recorded anywhere). See the peg(Calendar) method.
        Specified by:
        previous in class RegularTimePeriod
        Returns:
        The month preceding this one.
      • next

        public RegularTimePeriod next()
        Returns the month following this one. Note that the returned Month is "pegged" using the default time-zone, irrespective of the time-zone used to peg of the current month (which is not recorded anywhere). See the peg(Calendar) method.
        Specified by:
        next in class RegularTimePeriod
        Returns:
        The month following this one.
      • toString

        public java.lang.String toString()
        Returns a string representing the month (e.g. "January 2002").

        To do: look at internationalisation.

        Overrides:
        toString in class RegularTimePeriod
        Returns:
        A string representing the month.
      • equals

        public boolean equals​(java.lang.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.
        Overrides:
        equals in class java.lang.Object
        Parameters:
        obj - the object (null permitted).
        Returns:
        true if month and year of this and 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:
        hashCode in class java.lang.Object
        Returns:
        A hash code.
      • compareTo

        public int compareTo​(java.lang.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:
        compareTo in interface java.lang.Comparable
        Parameters:
        o1 - the object to compare.
        Returns:
        negative == before, zero == same, positive == after.
      • parseMonth

        public static Month parseMonth​(java.lang.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 (null permitted).
        Returns:
        null if the string is not parseable, the month otherwise.