## org.jfree.data.time
Class Year

    java.lang.Object
      org.jfree.data.time.RegularTimePeriod
          org.jfree.data.time.Year

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

public class Year
extends RegularTimePeriod
implements java.io.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

Field Summary

Fields inherited from class org.jfree.data.time.RegularTimePeriod
`DEFAULT_TIME_ZONE, WORKING_CALENDAR`

Fields inherited from interface org.jfree.date.MonthConstants
`APRIL, AUGUST, DECEMBER, FEBRUARY, JANUARY, JULY, JUNE, MARCH, MAY, NOVEMBER, OCTOBER, SEPTEMBER`

Constructor Summary
`Year()` Creates a new `Year`, based on the current system date/time.
`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)` Constructs a year, based on a particular instant in time and a time zone.
`Year(int year)` Creates a time period representing a single year.

Method Summary
`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.
`boolean` `equals(java.lang.Object object)` Tests the equality of this `Year` object to an arbitrary object.
`long` `getFirstMillisecond(java.util.Calendar calendar)` Returns the first millisecond of the year, evaluated using the supplied calendar (which determines the time zone).
`long` `getLastMillisecond(java.util.Calendar calendar)` Returns the last millisecond of the year, evaluated using the supplied calendar (which determines the time zone).
`long` `getSerialIndex()` Returns a serial index number for the year.
`int` `getYear()` Returns the year.
`int` `hashCode()` Returns a hash code for this object instance.
`RegularTimePeriod` `next()` Returns the year following this one.
`static Year` `parseYear(java.lang.String s)` Parses the string argument as a year.
`RegularTimePeriod` `previous()` Returns the year preceding this one.
`java.lang.String` `toString()` Returns a string representing the year..

Methods inherited from class org.jfree.data.time.RegularTimePeriod
`getEnd, getFirstMillisecond, getFirstMillisecond, getLastMillisecond, getLastMillisecond, getMiddleMillisecond, getMiddleMillisecond, getMiddleMillisecond, getStart`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

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.

### Year

    public Year(java.util.Date time,
                java.util.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 Detail

### 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(java.util.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(java.util.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(java.lang.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`.

  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`

  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.