--- a/jdk/src/share/classes/java/util/Calendar.java Tue Aug 31 11:27:10 2010 -0700
+++ b/jdk/src/share/classes/java/util/Calendar.java Wed Sep 01 15:19:13 2010 +0900
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -119,7 +119,7 @@
* calculating its time or calendar field values if any out-of-range field
* value has been set.
*
- * <h4>First Week</h4>
+ * <h4><a name="first_week">First Week</a></h4>
*
* <code>Calendar</code> defines a locale-specific seven day week using two
* parameters: the first day of the week and the minimal days in first week
@@ -2196,6 +2196,101 @@
}
/**
+ * Returns whether this {@code Calendar} supports week dates.
+ *
+ * <p>The default implementation of this method returns {@code false}.
+ *
+ * @return {@code true} if this {@code Calendar} supports week dates;
+ * {@code false} otherwise.
+ * @see #getWeekYear()
+ * @see #setWeekDate(int,int,int)
+ * @see #getWeeksInWeekYear()
+ * @since 1.7
+ */
+ public boolean isWeekDateSupported() {
+ return false;
+ }
+
+ /**
+ * Returns the week year represented by this {@code Calendar}. The
+ * week year is in sync with the week cycle. The {@linkplain
+ * #getFirstDayOfWeek() first day of the first week} is the first
+ * day of the week year.
+ *
+ * <p>The default implementation of this method throws an
+ * {@link UnsupportedOperationException}.
+ *
+ * @return the week year of this {@code Calendar}
+ * @exception UnsupportedOperationException
+ * if any week year numbering isn't supported
+ * in this {@code Calendar}.
+ * @see #isWeekDateSupported()
+ * @see #getFirstDayOfWeek()
+ * @see #getMinimalDaysInFirstWeek()
+ * @since 1.7
+ */
+ public int getWeekYear() {
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * Sets the date of this {@code Calendar} with the the given date
+ * specifiers - week year, week of year, and day of week.
+ *
+ * <p>Unlike the {@code set} method, all of the calendar fields
+ * and {@code time} values are calculated upon return.
+ *
+ * <p>If {@code weekOfYear} is out of the valid week-of-year range
+ * in {@code weekYear}, the {@code weekYear} and {@code
+ * weekOfYear} values are adjusted in lenient mode, or an {@code
+ * IllegalArgumentException} is thrown in non-lenient mode.
+ *
+ * <p>The default implementation of this method throws an
+ * {@code UnsupportedOperationException}.
+ *
+ * @param weekYear the week year
+ * @param weekOfYear the week number based on {@code weekYear}
+ * @param dayOfWeek the day of week value: one of the constants
+ * for the {@link #DAY_OF_WEEK} field: {@link
+ * #SUNDAY}, ..., {@link #SATURDAY}.
+ * @exception IllegalArgumentException
+ * if any of the given date specifiers is invalid
+ * or any of the calendar fields are inconsistent
+ * with the given date specifiers in non-lenient mode
+ * @exception UnsupportedOperationException
+ * if any week year numbering isn't supported in this
+ * {@code Calendar}.
+ * @see #isWeekDateSupported()
+ * @see #getFirstDayOfWeek()
+ * @see #getMinimalDaysInFirstWeek()
+ * @since 1.7
+ */
+ public void setWeekDate(int weekYear, int weekOfYear, int dayOfWeek) {
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * Returns the number of weeks in the week year represented by this
+ * {@code Calendar}.
+ *
+ * <p>The default implementation of this method throws an
+ * {@code UnsupportedOperationException}.
+ *
+ * @return the number of weeks in the week year.
+ * @exception UnsupportedOperationException
+ * if any week year numbering isn't supported in this
+ * {@code Calendar}.
+ * @see #WEEK_OF_YEAR
+ * @see #isWeekDateSupported()
+ * @see #getWeekYear()
+ * @see #getActualMaximum(int)
+ * @since 1.7
+ */
+ public int getWeeksInWeekYear() {
+ throw new UnsupportedOperationException();
+ }
+
+ /**
* Returns the minimum value for the given calendar field of this
* <code>Calendar</code> instance. The minimum value is defined as
* the smallest value returned by the {@link #get(int) get} method