Package org.jfree.data.time
Class Week
java.lang.Object
org.jfree.data.time.RegularTimePeriod
org.jfree.data.time.Week
- All Implemented Interfaces:
Serializable
,Comparable
,TimePeriod
,org.jfree.date.MonthConstants
public class Week extends RegularTimePeriod implements Serializable
A calendar week. All years are considered to have 53 weeks, numbered from 1
to 53, although in many cases the 53rd week is empty. Most of the time, the
1st week of the year *begins* in the previous calendar year, but it always
finishes in the current year (this behaviour matches the workings of the
GregorianCalendar
class).
This class is immutable, which is a requirement for all
RegularTimePeriod
subclasses.
- See Also:
- Serialized Form
-
Field Summary
Fields Modifier and Type Field Description static int
FIRST_WEEK_IN_YEAR
Constant for the first week in the year.static int
LAST_WEEK_IN_YEAR
Constant for the last week in the year.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
Constructors Constructor Description Week()
Creates a new time period for the week in which the current system date/time falls.Week(int week, int year)
Creates a time period representing the week in the specified year.Week(int week, Year year)
Creates a time period representing the week in the specified year.Week(Date time)
Creates a time period for the week in which the specified date/time falls.Week(Date time, TimeZone zone)
Creates a time period for the week in which the specified date/time falls, calculated relative to the specified time zone. -
Method Summary
Modifier and Type Method Description int
compareTo(Object o1)
Returns an integer indicating the order of this Week object relative to the specified object: negative == before, zero == same, positive == after.boolean
equals(Object obj)
Tests the equality of this Week object to an arbitrary object.long
getFirstMillisecond(Calendar calendar)
Returns the first millisecond of the week, evaluated using the supplied calendar (which determines the time zone).long
getLastMillisecond(Calendar calendar)
Returns the last millisecond of the week, evaluated using the supplied calendar (which determines the time zone).long
getSerialIndex()
Returns a serial index number for the week.int
getWeek()
Returns the week.Year
getYear()
Returns the year in which the week falls.int
getYearValue()
Returns the year in which the week falls, as an integer value.int
hashCode()
Returns a hash code for this object instance.RegularTimePeriod
next()
Returns the week following this one.static Week
parseWeek(String s)
Parses the string argument as a week.RegularTimePeriod
previous()
Returns the week preceding this one.String
toString()
Returns a string representing the week (e.g.Methods inherited from class org.jfree.data.time.RegularTimePeriod
getEnd, getFirstMillisecond, getFirstMillisecond, getLastMillisecond, getLastMillisecond, getMiddleMillisecond, getMiddleMillisecond, getMiddleMillisecond, getStart
-
Field Details
-
FIRST_WEEK_IN_YEAR
public static final int FIRST_WEEK_IN_YEARConstant for the first week in the year.- See Also:
- Constant Field Values
-
LAST_WEEK_IN_YEAR
public static final int LAST_WEEK_IN_YEARConstant for the last week in the year.- See Also:
- Constant Field Values
-
-
Constructor Details
-
Week
public Week()Creates a new time period for the week in which the current system date/time falls. -
Week
public Week(int week, int year)Creates a time period representing the week in the specified year.- Parameters:
week
- the week (1 to 53).year
- the year (1900 to 9999).
-
Week
Creates a time period representing the week in the specified year.- Parameters:
week
- the week (1 to 53).year
- the year (1900 to 9999).
-
Week
Creates a time period for the week in which the specified date/time falls.- Parameters:
time
- the time (null
not permitted).
-
Week
Creates a time period for the week in which the specified date/time falls, calculated relative to the specified time zone.- Parameters:
time
- the date/time (null
not permitted).zone
- the time zone (null
not permitted).
-
-
Method Details
-
getYear
Returns the year in which the week falls.- Returns:
- The year (never
null
).
-
getYearValue
public int getYearValue()Returns the year in which the week falls, as an integer value.- Returns:
- The year.
-
getWeek
public int getWeek()Returns the week.- Returns:
- The week.
-
previous
Returns the week preceding this one. This method will returnnull
for some lower limit on the range of weeks (currently week 1, 1900). For week 1 of any year, the previous week is always week 53, but week 53 may not contain any days (you should check for this).- Specified by:
previous
in classRegularTimePeriod
- Returns:
- The preceding week (possibly
null
).
-
next
Returns the week following this one. This method will returnnull
for some upper limit on the range of weeks (currently week 53, 9999). For week 52 of any year, the following week is always week 53, but week 53 may not contain any days (you should check for this).- Specified by:
next
in classRegularTimePeriod
- Returns:
- The following week (possibly
null
).
-
getSerialIndex
public long getSerialIndex()Returns a serial index number for the week.- Specified by:
getSerialIndex
in classRegularTimePeriod
- Returns:
- The serial index number.
-
getFirstMillisecond
Returns the first millisecond of the week, evaluated using the supplied calendar (which determines the time zone).- Specified by:
getFirstMillisecond
in classRegularTimePeriod
- Parameters:
calendar
- the calendar.- Returns:
- The first millisecond of the week.
-
getLastMillisecond
Returns the last millisecond of the week, evaluated using the supplied calendar (which determines the time zone).- Specified by:
getLastMillisecond
in classRegularTimePeriod
- Parameters:
calendar
- the calendar.- Returns:
- The last millisecond of the week.
-
toString
Returns a string representing the week (e.g. "Week 9, 2002"). TODO: look at internationalisation.- Overrides:
toString
in classRegularTimePeriod
- Returns:
- A string representing the week.
-
equals
Tests the equality of this Week object to an arbitrary object. Returns true if the target is a Week instance representing the same week as this object. In all other cases, returns false. -
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
-
compareTo
Returns an integer indicating the order of this Week object relative to the specified object: negative == before, zero == same, positive == after.- Specified by:
compareTo
in interfaceComparable
- Parameters:
o1
- the object to compare.- Returns:
- negative == before, zero == same, positive == after.
-
parseWeek
Parses the string argument as a week.This method is required to accept the format "YYYY-Wnn". It will also accept "Wnn-YYYY". Anything else, at the moment, is a bonus.
- Parameters:
s
- string to parse.- Returns:
null
if the string is not parseable, the week otherwise.
-