com.jrefinery.data
Class Year

java.lang.Object
  |
  +--com.jrefinery.data.TimePeriod
        |
        +--com.jrefinery.data.Year
All Implemented Interfaces:
java.lang.Comparable, com.jrefinery.date.MonthConstants

public class Year
extends TimePeriod

Represents a year in the range 1900 to 9999.

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

Author:
DG

Fields inherited from class com.jrefinery.data.TimePeriod
DEFAULT_TIME_ZONE, WORKING_CALENDAR
 
Fields inherited from interface com.jrefinery.date.MonthConstants
APRIL, AUGUST, DECEMBER, FEBRUARY, JANUARY, JULY, JUNE, MARCH, MAY, NOVEMBER, OCTOBER, SEPTEMBER
 
Constructor Summary
Year()
          Constructs a new Year, based on the current system date/time.
Year(java.util.Date time)
          Constructs 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)
          Constructs 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 getEnd(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.
 long getStart(java.util.Calendar calendar)
          Returns the first millisecond of the year, evaluated using the supplied calendar (which determines the time zone).
 int getYear()
          Returns the year.
 TimePeriod next()
          Returns the year following this one.
static Year parseYear(java.lang.String s)
          Parses the string argument as a year.
 TimePeriod previous()
          Returns the year preceding this one.
 java.lang.String toString()
          Returns a string representing the year (e.g.
 
Methods inherited from class com.jrefinery.data.TimePeriod
getEnd, getEnd, getMiddle, getMiddle, getMiddle, getStart, getStart
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Year

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

Year

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

Year

public Year(java.util.Date time)
Constructs 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 TimePeriod previous()
Returns the year preceding this one.
Overrides:
previous in class TimePeriod
Returns:
the year preceding this one (or null if the current year is 1900).

next

public TimePeriod next()
Returns the year following this one.
Overrides:
next in class TimePeriod
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).

Overrides:
getSerialIndex in class TimePeriod
Returns:
the serial index number.

getStart

public long getStart(java.util.Calendar calendar)
Returns the first millisecond of the year, evaluated using the supplied calendar (which determines the time zone).
Overrides:
getStart in class TimePeriod
Parameters:
calendar - the calendar.
Returns:
the first millisecond of the year.

getEnd

public long getEnd(java.util.Calendar calendar)
Returns the last millisecond of the year, evaluated using the supplied calendar (which determines the time zone).
Overrides:
getEnd in class TimePeriod
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.
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 (e.g. "2002").
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.