Package 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
,MonthConstants
,TimePeriod
public class Year extends RegularTimePeriod implements java.io.Serializable
Represents a year in the range -9999 to 9999. This class is immutable, which is a requirement for allRegularTimePeriod
subclasses.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private long
firstMillisecond
The first millisecond.private long
lastMillisecond
The last millisecond.static int
MAXIMUM_YEAR
The maximum year value.static int
MINIMUM_YEAR
The minimum year value.private static long
serialVersionUID
For serialization.private short
year
The year.
-
Constructor Summary
Constructors Constructor Description Year()
Creates a newYear
, based on the current system date/time.Year(int year)
Creates a time period representing a single year.Year(java.util.Date time)
Creates a newYear
, based on a particular instant in time.Year(java.util.Date time, java.util.Calendar calendar)
Constructs a new instance, based on a particular date/time.Year(java.util.Date time, java.util.TimeZone zone, java.util.Locale locale)
Creates a newYear
instance, for the specified time zone and locale.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
compareTo(java.lang.Object o1)
Returns an integer indicating the order of thisYear
object relative to the specified object: negative == before, zero == same, positive == after.boolean
equals(java.lang.Object obj)
Tests the equality of thisYear
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, getCalendarInstance, getEnd, getMiddleMillisecond, getMiddleMillisecond, getMillisecond, getStart, setCalendarInstancePrototype, setThreadLocalCalendarInstance
-
-
-
-
Field Detail
-
MINIMUM_YEAR
public static final int MINIMUM_YEAR
The minimum year value.- See Also:
- Constant Field Values
-
MAXIMUM_YEAR
public static final int MAXIMUM_YEAR
The maximum year value.- See Also:
- Constant Field Values
-
serialVersionUID
private static final long serialVersionUID
For serialization.- See Also:
- Constant Field Values
-
year
private short year
The year.
-
firstMillisecond
private long firstMillisecond
The first millisecond.
-
lastMillisecond
private long lastMillisecond
The last millisecond.
-
-
Constructor Detail
-
Year
public Year()
Creates a newYear
, based on the current system date/time. The time zone and locale are determined by the calendar returned byRegularTimePeriod.getCalendarInstance()
.
-
Year
public Year(int year)
Creates a time period representing a single year. The time zone and locale are determined by the calendar returned byRegularTimePeriod.getCalendarInstance()
.- Parameters:
year
- the year.
-
Year
public Year(java.util.Date time)
Creates a newYear
, based on a particular instant in time. The time zone and locale are determined by the calendar returned byRegularTimePeriod.getCalendarInstance()
.- Parameters:
time
- the time (null
not permitted).- See Also:
Year(Date, TimeZone, Locale)
-
Year
public Year(java.util.Date time, java.util.TimeZone zone, java.util.Locale locale)
Creates a newYear
instance, for the specified time zone and locale.- Parameters:
time
- the current time (null
not permitted).zone
- the time zone.locale
- the locale.
-
Year
public Year(java.util.Date time, java.util.Calendar calendar)
Constructs a new instance, based on a particular date/time. The time zone and locale are determined by thecalendar
parameter.- Parameters:
time
- the date/time (null
not permitted).calendar
- the calendar to use for calculations (null
not permitted).
-
-
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 thepeg(Calendar)
method.- Specified by:
getFirstMillisecond
in classRegularTimePeriod
- 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 thepeg(Calendar)
method.- Specified by:
getLastMillisecond
in classRegularTimePeriod
- 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 classRegularTimePeriod
- Parameters:
calendar
- the calendar (null
not permitted).
-
previous
public RegularTimePeriod previous()
Returns the year preceding this one. No matter what time zone and locale this instance was created with, the returned instance will use the default calendar for time calculations, obtained withRegularTimePeriod.getCalendarInstance()
.- Specified by:
previous
in classRegularTimePeriod
- Returns:
- The year preceding this one (or
null
if the current year is -9999).
-
next
public RegularTimePeriod next()
Returns the year following this one. No matter what time zone and locale this instance was created with, the returned instance will use the default calendar for time calculations, obtained withRegularTimePeriod.getCalendarInstance()
.- Specified by:
next
in classRegularTimePeriod
- 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 classRegularTimePeriod
- 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 classRegularTimePeriod
- Parameters:
calendar
- the calendar (null
not permitted).- Returns:
- The first millisecond of the year.
- Throws:
java.lang.NullPointerException
- ifcalendar
isnull
.- 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 classRegularTimePeriod
- Parameters:
calendar
- the calendar (null
not permitted).- Returns:
- The last millisecond of the year.
- Throws:
java.lang.NullPointerException
- ifcalendar
isnull
.- See Also:
RegularTimePeriod.getFirstMillisecond(Calendar)
-
equals
public boolean equals(java.lang.Object obj)
Tests the equality of thisYear
object to an arbitrary object. Returnstrue
if the target is aYear
instance representing the same year as this object. In all other cases, returnsfalse
.- Overrides:
equals
in classjava.lang.Object
- Parameters:
obj
- 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 classjava.lang.Object
- Returns:
- A hash code.
-
compareTo
public int compareTo(java.lang.Object o1)
Returns an integer indicating the order of thisYear
object relative to the specified object: negative == before, zero == same, positive == after.- Specified by:
compareTo
in interfacejava.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 classRegularTimePeriod
- 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.
-
-