Class Year

All Implemented Interfaces:
Serializable, Comparable, TimePeriod, org.jfree.date.MonthConstants

public class Year
extends RegularTimePeriod
implements Serializable
Represents a year in the range 1900 to 9999.

This class is immutable, which is a requirement for all RegularTimePeriod subclasses.

See Also:
Serialized Form
  • Constructor Details

    • 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​(Date time)
      Creates a new Year, based on a particular instant in time, using the default time zone.
      Parameters:
      time - the time.
    • Year

      public Year​(Date time, TimeZone zone)
      Constructs a year, based on a particular instant in time and a time zone.
      Parameters:
      time - the time.
      zone - the time zone.
  • Method Details

    • getYear

      public int getYear()
      Returns the year.
      Returns:
      the year.
    • previous

      public RegularTimePeriod previous()
      Returns the year preceding this one.
      Specified by:
      previous in class RegularTimePeriod
      Returns:
      the year preceding this one (or null if the current year is 1900).
    • next

      public RegularTimePeriod next()
      Returns the year following this one.
      Specified by:
      next in class RegularTimePeriod
      Returns:
      The year following this one (or null if the current year is 9999).
    • 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.
    • getFirstMillisecond

      public long getFirstMillisecond​(Calendar calendar)
      Returns the first millisecond of the year, evaluated using the supplied calendar (which determines the time zone).
      Specified by:
      getFirstMillisecond in class RegularTimePeriod
      Parameters:
      calendar - the calendar.
      Returns:
      the first millisecond of the year.
    • getLastMillisecond

      public long getLastMillisecond​(Calendar calendar)
      Returns the last millisecond of the year, evaluated using the supplied calendar (which determines the time zone).
      Specified by:
      getLastMillisecond in class RegularTimePeriod
      Parameters:
      calendar - the calendar.
      Returns:
      the last millisecond of the year.
    • equals

      public boolean equals​(Object object)
      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 Object
      Parameters:
      object - the object.
      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 Object
      Returns:
      A hash code.
    • compareTo

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

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

      public static Year parseYear​(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.