## org.jfree.data.time
Class Year

    java.lang.Object
      org.jfree.data.time.RegularTimePeriod
          org.jfree.data.time.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 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()` Returns the first millisecond of the year.
`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()` Returns the last millisecond of the year.
`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.
`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).
`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
`createInstance, downsize, getEnd, getFirstMillisecond, 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 (`null` not permitted).

### 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.

### getFirstMillisecond

    public long getFirstMillisecond()

  Returns the first millisecond of the year. 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 the `peg(Calendar)` method.

  Specified by:
    `getFirstMillisecond` in class `RegularTimePeriod`
  Returns:
    The first millisecond of the year.
  See Also:
    `getLastMillisecond()`

### getLastMillisecond

    public long getLastMillisecond()

  Returns the last millisecond of the year. 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 the `peg(Calendar)` method.

  Specified by:
    `getLastMillisecond` in class `RegularTimePeriod`
  Returns:
    The last millisecond of the year.
  See Also:
    `getFirstMillisecond()`

### 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 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 (`null` not permitted).
  Returns:
    The first millisecond of the year.
  Throws:
    `java.lang.NullPointerException` - if `calendar` is `null`.
  See Also:
    `RegularTimePeriod.getLastMillisecond(Calendar)`

### 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 (`null` not permitted).
  Returns:
    The last millisecond of the year.
  Throws:
    `java.lang.NullPointerException` - if `calendar` is `null`.
  See Also:
    `RegularTimePeriod.getFirstMillisecond(Calendar)`

### 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`.

  Overrides:
    `equals` in class `java.lang.Object`
  Parameters:
    `object` - 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.