Class Year

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

    public class Year
    extends RegularTimePeriod
    implements java.io.Serializable
    Represents a year in the range -9999 to 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 MAXIMUM_YEAR
      The maximum year value.
      static int MINIMUM_YEAR
      The minimum year value.
      • 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
      Year()
      Creates a new Year, based on the current system date/time.
      Year​(int year)
      Creates a time period representing a single year.
      Year​(java.util.Date time)
      Creates a new Year, based on a particular instant in time, using the default time zone.
      Year​(java.util.Date time, java.util.TimeZone zone)
      Deprecated.
      Since 1.0.12, use Year(Date, TimeZone, Locale) instead.
      Year​(java.util.Date time, java.util.TimeZone zone, java.util.Locale locale)
      Creates a new Year instance, for the specified time zone and locale.
    • Constructor Detail

      • Year

        public Year()
        Creates a new Year, based on the current system date/time.
      • Year

        public Year​(int year)
        Creates a time period representing a single year.
        Parameters:
        year - the year.
      • Year

        public Year​(java.util.Date time)
        Creates a new Year, based on a particular instant in time, using the default time zone.
        Parameters:
        time - the time (null not permitted).
        See Also:
        Year(Date, TimeZone)
      • Year

        public Year​(java.util.Date time,
                    java.util.TimeZone zone)
        Deprecated.
        Since 1.0.12, use Year(Date, TimeZone, Locale) instead.
        Constructs a year, based on a particular instant in time and a time zone.
        Parameters:
        time - the time (null not permitted).
        zone - the time zone.
      • Year

        public Year​(java.util.Date time,
                    java.util.TimeZone zone,
                    java.util.Locale locale)
        Creates a new Year instance, for the specified time zone and locale.
        Parameters:
        time - the current time (null not permitted).
        zone - the time zone.
        locale - the locale.
        Since:
        1.0.12
    • Method Detail

      • getYear

        public int getYear()
        Returns the year.
        Returns:
        The year.
      • 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
      • getSerialIndex

        public long getSerialIndex()
        Returns a serial index number for the year.

        The implementation simply returns the year number (e.g. 2002).

        Specified by:
        getSerialIndex in class RegularTimePeriod
        Returns:
        The serial index number.
      • equals

        public boolean equals​(java.lang.Object obj)
        Tests the equality of this Year object to an arbitrary object. Returns true if the target is a Year instance representing the same year 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 the 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:
        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 Year 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.
      • toString

        public java.lang.String toString()
        Returns a string representing the year..
        Overrides:
        toString in class RegularTimePeriod
        Returns:
        A string representing the year.
      • parseYear

        public static Year parseYear​(java.lang.String s)
        Parses the string argument as a year.

        The string format is YYYY.

        Parameters:
        s - a string representing the year.
        Returns:
        null if the string is not parseable, the year otherwise.