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.

Author:
David Gilbert
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.
 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, hashCode, 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.

Overrides:
equals in class java.lang.Object
Parameters:
object - the object.
Returns:
true if the year of this and the object are the same.

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 java.lang.Object
Returns:
a string representing the year.

parseYear

public static Year parseYear(java.lang.String s)
                      throws TimePeriodFormatException
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.
Throws:
TimePeriodFormatException - if there is a parsing error.