diff --git a/jdk/src/share/classes/java/time/DayOfWeek.java b/jdk/src/share/classes/java/time/DayOfWeek.java index ecd03f2803d..43dc3aa9c1b 100644 --- a/jdk/src/share/classes/java/time/DayOfWeek.java +++ b/jdk/src/share/classes/java/time/DayOfWeek.java @@ -201,7 +201,7 @@ public enum DayOfWeek implements TemporalAccessor, TemporalAdjuster { * Gets the day-of-week {@code int} value. *

* The values are numbered following the ISO-8601 standard, from 1 (Monday) to 7 (Sunday). - * See {@link WeekFields#dayOfWeek} for localized week-numbering. + * See {@link java.time.temporal.WeekFields#dayOfWeek()} for localized week-numbering. * * @return the day-of-week, from 1 (Monday) to 7 (Sunday) */ @@ -288,7 +288,7 @@ public enum DayOfWeek implements TemporalAccessor, TemporalAdjuster { /** * Gets the value of the specified field from this day-of-week as an {@code int}. *

- * This queries this day-of-week for the value for the specified field. + * This queries this day-of-week for the value of the specified field. * The returned value will always be within the valid range of values for the field. * If it is not possible to return the value, because the field is not supported * or for some other reason, an exception is thrown. @@ -321,7 +321,7 @@ public enum DayOfWeek implements TemporalAccessor, TemporalAdjuster { /** * Gets the value of the specified field from this day-of-week as a {@code long}. *

- * This queries this day-of-week for the value for the specified field. + * This queries this day-of-week for the value of the specified field. * If it is not possible to return the value, because the field is not supported * or for some other reason, an exception is thrown. *

@@ -419,7 +419,7 @@ public enum DayOfWeek implements TemporalAccessor, TemporalAdjuster { * The adjustment is equivalent to using {@link Temporal#with(TemporalField, long)} * passing {@link ChronoField#DAY_OF_WEEK} as the field. * Note that this adjusts forwards or backwards within a Monday to Sunday week. - * See {@link WeekFields#dayOfWeek} for localized week start days. + * See {@link java.time.temporal.WeekFields#dayOfWeek()} for localized week start days. * See {@code TemporalAdjuster} for other adjusters with more control, * such as {@code next(MONDAY)}. *

diff --git a/jdk/src/share/classes/java/time/Duration.java b/jdk/src/share/classes/java/time/Duration.java index c53afe3ebcb..cb672c4d3b4 100644 --- a/jdk/src/share/classes/java/time/Duration.java +++ b/jdk/src/share/classes/java/time/Duration.java @@ -546,7 +546,7 @@ public final class Duration * They are returned in the order seconds, nanos. *

* This set can be used in conjunction with {@link #get(TemporalUnit)} - * to access the entire state of the period. + * to access the entire state of the duration. * * @return a list containing the seconds and nanos units, not null */ @@ -686,8 +686,8 @@ public final class Duration *

* This instance is immutable and unaffected by this method call. * - * @param amountToAdd the amount of the period, measured in terms of the unit, positive or negative - * @param unit the unit that the period is measured in, must have an exact duration, not null + * @param amountToAdd the amount to add, measured in terms of the unit, positive or negative + * @param unit the unit that the amount is measured in, must have an exact duration, not null * @return a {@code Duration} based on this duration with the specified duration added, not null * @throws UnsupportedTemporalTypeException if the unit is not supported * @throws ArithmeticException if numeric overflow occurs @@ -848,8 +848,8 @@ public final class Duration *

* This instance is immutable and unaffected by this method call. * - * @param amountToSubtract the amount of the period, measured in terms of the unit, positive or negative - * @param unit the unit that the period is measured in, must have an exact duration, not null + * @param amountToSubtract the amount to subtract, measured in terms of the unit, positive or negative + * @param unit the unit that the amount is measured in, must have an exact duration, not null * @return a {@code Duration} based on this duration with the specified duration subtracted, not null * @throws ArithmeticException if numeric overflow occurs */ diff --git a/jdk/src/share/classes/java/time/Instant.java b/jdk/src/share/classes/java/time/Instant.java index 1b944a50c3d..879cd1f5d40 100644 --- a/jdk/src/share/classes/java/time/Instant.java +++ b/jdk/src/share/classes/java/time/Instant.java @@ -530,7 +530,7 @@ public final class Instant /** * Gets the value of the specified field from this instant as an {@code int}. *

- * This queries this instant for the value for the specified field. + * This queries this instant for the value of the specified field. * The returned value will always be within the valid range of values for the field. * If it is not possible to return the value, because the field is not supported * or for some other reason, an exception is thrown. @@ -571,7 +571,7 @@ public final class Instant /** * Gets the value of the specified field from this instant as a {@code long}. *

- * This queries this instant for the value for the specified field. + * This queries this instant for the value of the specified field. * If it is not possible to return the value, because the field is not supported * or for some other reason, an exception is thrown. *

diff --git a/jdk/src/share/classes/java/time/LocalDate.java b/jdk/src/share/classes/java/time/LocalDate.java index 17b3b24c0ea..794676a2410 100644 --- a/jdk/src/share/classes/java/time/LocalDate.java +++ b/jdk/src/share/classes/java/time/LocalDate.java @@ -280,7 +280,7 @@ public final class LocalDate * @param dayOfYear the day-of-year to represent, from 1 to 366 * @return the local date, not null * @throws DateTimeException if the value of any field is out of range, - * or if the day-of-year is invalid for the month-year + * or if the day-of-year is invalid for the year */ public static LocalDate ofYearDay(int year, int dayOfYear) { YEAR.checkValidValue(year); @@ -308,7 +308,7 @@ public final class LocalDate * * @param epochDay the Epoch Day to convert, based on the epoch 1970-01-01 * @return the local date, not null - * @throws DateTimeException if the epoch days exceeds the supported date range + * @throws DateTimeException if the epoch day exceeds the supported date range */ public static LocalDate ofEpochDay(long epochDay) { long zeroDay = epochDay + DAYS_0000_TO_1970; @@ -515,7 +515,7 @@ public final class LocalDate /** * Checks if the specified unit is supported. *

- * This checks if the specified unit can be added to, or subtracted from, this date-time. + * This checks if the specified unit can be added to, or subtracted from, this date. * If false, then calling the {@link #plus(long, TemporalUnit)} and * {@link #minus(long, TemporalUnit) minus} methods will throw an exception. *

@@ -592,7 +592,7 @@ public final class LocalDate /** * Gets the value of the specified field from this date as an {@code int}. *

- * This queries this date for the value for the specified field. + * This queries this date for the value of the specified field. * The returned value will always be within the valid range of values for the field. * If it is not possible to return the value, because the field is not supported * or for some other reason, an exception is thrown. @@ -600,7 +600,7 @@ public final class LocalDate * If the field is a {@link ChronoField} then the query is implemented here. * The {@link #isSupported(TemporalField) supported fields} will return valid * values based on this date, except {@code EPOCH_DAY} and {@code PROLEPTIC_MONTH} - * which are too large to fit in an {@code int} and throw a {@code DateTimeException}. + * which are too large to fit in an {@code int} and throw an {@code UnsupportedTemporalTypeException}. * All other {@code ChronoField} instances will throw an {@code UnsupportedTemporalTypeException}. *

* If the field is not a {@code ChronoField}, then the result of this method @@ -627,7 +627,7 @@ public final class LocalDate /** * Gets the value of the specified field from this date as a {@code long}. *

- * This queries this date for the value for the specified field. + * This queries this date for the value of the specified field. * If it is not possible to return the value, because the field is not supported * or for some other reason, an exception is thrown. *

@@ -875,7 +875,9 @@ public final class LocalDate *

* A simple adjuster might simply set the one of the fields, such as the year field. * A more complex adjuster might set the date to the last day of the month. - * A selection of common adjustments is provided in {@link TemporalAdjuster}. + *

+ * A selection of common adjustments is provided in + * {@link java.time.temporal.TemporalAdjusters TemporalAdjusters}. * These include finding the "last day of the month" and "next Wednesday". * Key date-time classes also implement the {@code TemporalAdjuster} interface, * such as {@link Month} and {@link java.time.MonthDay MonthDay}. @@ -885,7 +887,7 @@ public final class LocalDate * For example this code returns a date on the last day of July: *

      *  import static java.time.Month.*;
-     *  import static java.time.temporal.Adjusters.*;
+     *  import static java.time.temporal.TemporalAdjusters.*;
      *
      *  result = localDate.with(JULY).with(lastDayOfMonth());
      * 
@@ -1041,7 +1043,8 @@ public final class LocalDate //----------------------------------------------------------------------- /** - * Returns a copy of this date with the year altered. + * Returns a copy of this {@code LocalDate} with the year altered. + *

* If the day-of-month is invalid for the year, it will be changed to the last valid day of the month. *

* This instance is immutable and unaffected by this method call. @@ -1059,7 +1062,8 @@ public final class LocalDate } /** - * Returns a copy of this date with the month-of-year altered. + * Returns a copy of this {@code LocalDate} with the month-of-year altered. + *

* If the day-of-month is invalid for the year, it will be changed to the last valid day of the month. *

* This instance is immutable and unaffected by this method call. @@ -1077,7 +1081,8 @@ public final class LocalDate } /** - * Returns a copy of this date with the day-of-month altered. + * Returns a copy of this {@code LocalDate} with the day-of-month altered. + *

* If the resulting date is invalid, an exception is thrown. *

* This instance is immutable and unaffected by this method call. @@ -1095,7 +1100,8 @@ public final class LocalDate } /** - * Returns a copy of this date with the day-of-year altered. + * Returns a copy of this {@code LocalDate} with the day-of-year altered. + *

* If the resulting date is invalid, an exception is thrown. *

* This instance is immutable and unaffected by this method call. @@ -1245,7 +1251,7 @@ public final class LocalDate //----------------------------------------------------------------------- /** - * Returns a copy of this {@code LocalDate} with the specified period in years added. + * Returns a copy of this {@code LocalDate} with the specified number of years added. *

* This method adds the specified amount to the years field in three steps: *

    @@ -1273,7 +1279,7 @@ public final class LocalDate } /** - * Returns a copy of this {@code LocalDate} with the specified period in months added. + * Returns a copy of this {@code LocalDate} with the specified number of months added. *

    * This method adds the specified amount to the months field in three steps: *

      @@ -1304,7 +1310,7 @@ public final class LocalDate } /** - * Returns a copy of this {@code LocalDate} with the specified period in weeks added. + * Returns a copy of this {@code LocalDate} with the specified number of weeks added. *

      * This method adds the specified amount in weeks to the days field incrementing * the month and year fields as necessary to ensure the result remains valid. @@ -1402,11 +1408,11 @@ public final class LocalDate //----------------------------------------------------------------------- /** - * Returns a copy of this {@code LocalDate} with the specified period in years subtracted. + * Returns a copy of this {@code LocalDate} with the specified number of years subtracted. *

      * This method subtracts the specified amount from the years field in three steps: *

        - *
      1. Subtract the input years to the year field
      2. + *
      3. Subtract the input years from the year field
      4. *
      5. Check if the resulting date would be invalid
      6. *
      7. Adjust the day-of-month to the last valid day if necessary
      8. *
      @@ -1426,11 +1432,11 @@ public final class LocalDate } /** - * Returns a copy of this {@code LocalDate} with the specified period in months subtracted. + * Returns a copy of this {@code LocalDate} with the specified number of months subtracted. *

      * This method subtracts the specified amount from the months field in three steps: *

        - *
      1. Subtract the input months to the month-of-year field
      2. + *
      3. Subtract the input months from the month-of-year field
      4. *
      5. Check if the resulting date would be invalid
      6. *
      7. Adjust the day-of-month to the last valid day if necessary
      8. *
      @@ -1450,7 +1456,7 @@ public final class LocalDate } /** - * Returns a copy of this {@code LocalDate} with the specified period in weeks subtracted. + * Returns a copy of this {@code LocalDate} with the specified number of weeks subtracted. *

      * This method subtracts the specified amount in weeks from the days field decrementing * the month and year fields as necessary to ensure the result remains valid. diff --git a/jdk/src/share/classes/java/time/LocalDateTime.java b/jdk/src/share/classes/java/time/LocalDateTime.java index 86633b84165..b9cdb3e2047 100644 --- a/jdk/src/share/classes/java/time/LocalDateTime.java +++ b/jdk/src/share/classes/java/time/LocalDateTime.java @@ -428,7 +428,7 @@ public final class LocalDateTime /** * Obtains an instance of {@code LocalDateTime} from a temporal object. *

      - * This obtains an offset time based on the specified temporal. + * This obtains a local date-time based on the specified temporal. * A {@code TemporalAccessor} represents an arbitrary set of date and time information, * which this factory converts to an instance of {@code LocalDateTime}. *

      @@ -656,7 +656,7 @@ public final class LocalDateTime /** * Gets the value of the specified field from this date-time as an {@code int}. *

      - * This queries this date-time for the value for the specified field. + * This queries this date-time for the value of the specified field. * The returned value will always be within the valid range of values for the field. * If it is not possible to return the value, because the field is not supported * or for some other reason, an exception is thrown. @@ -665,7 +665,7 @@ public final class LocalDateTime * The {@link #isSupported(TemporalField) supported fields} will return valid * values based on this date-time, except {@code NANO_OF_DAY}, {@code MICRO_OF_DAY}, * {@code EPOCH_DAY} and {@code PROLEPTIC_MONTH} which are too large to fit in - * an {@code int} and throw a {@code DateTimeException}. + * an {@code int} and throw a {@code UnsupportedTemporalTypeException}. * All other {@code ChronoField} instances will throw an {@code UnsupportedTemporalTypeException}. *

      * If the field is not a {@code ChronoField}, then the result of this method @@ -693,7 +693,7 @@ public final class LocalDateTime /** * Gets the value of the specified field from this date-time as a {@code long}. *

      - * This queries this date-time for the value for the specified field. + * This queries this date-time for the value of the specified field. * If it is not possible to return the value, because the field is not supported * or for some other reason, an exception is thrown. *

      @@ -878,7 +878,9 @@ public final class LocalDateTime *

      * A simple adjuster might simply set the one of the fields, such as the year field. * A more complex adjuster might set the date to the last day of the month. - * A selection of common adjustments is provided in {@link TemporalAdjuster}. + *

      + * A selection of common adjustments is provided in + * {@link java.time.temporal.TemporalAdjusters TemporalAdjusters}. * These include finding the "last day of the month" and "next Wednesday". * Key date-time classes also implement the {@code TemporalAdjuster} interface, * such as {@link Month} and {@link java.time.MonthDay MonthDay}. @@ -888,7 +890,7 @@ public final class LocalDateTime * For example this code returns a date on the last day of July: *

            *  import static java.time.Month.*;
      -     *  import static java.time.temporal.Adjusters.*;
      +     *  import static java.time.temporal.TemporalAdjusters.*;
            *
            *  result = localDateTime.with(JULY).with(lastDayOfMonth());
            * 
      @@ -974,6 +976,7 @@ public final class LocalDateTime //----------------------------------------------------------------------- /** * Returns a copy of this {@code LocalDateTime} with the year altered. + *

      * The time does not affect the calculation and will be the same in the result. * If the day-of-month is invalid for the year, it will be changed to the last valid day of the month. *

      @@ -989,6 +992,7 @@ public final class LocalDateTime /** * Returns a copy of this {@code LocalDateTime} with the month-of-year altered. + *

      * The time does not affect the calculation and will be the same in the result. * If the day-of-month is invalid for the year, it will be changed to the last valid day of the month. *

      @@ -1004,7 +1008,8 @@ public final class LocalDateTime /** * Returns a copy of this {@code LocalDateTime} with the day-of-month altered. - * If the resulting {@code LocalDateTime} is invalid, an exception is thrown. + *

      + * If the resulting date-time is invalid, an exception is thrown. * The time does not affect the calculation and will be the same in the result. *

      * This instance is immutable and unaffected by this method call. @@ -1020,7 +1025,8 @@ public final class LocalDateTime /** * Returns a copy of this {@code LocalDateTime} with the day-of-year altered. - * If the resulting {@code LocalDateTime} is invalid, an exception is thrown. + *

      + * If the resulting date-time is invalid, an exception is thrown. *

      * This instance is immutable and unaffected by this method call. * @@ -1035,7 +1041,7 @@ public final class LocalDateTime //----------------------------------------------------------------------- /** - * Returns a copy of this {@code LocalDateTime} with the hour-of-day value altered. + * Returns a copy of this {@code LocalDateTime} with the hour-of-day altered. *

      * This instance is immutable and unaffected by this method call. * @@ -1049,7 +1055,7 @@ public final class LocalDateTime } /** - * Returns a copy of this {@code LocalDateTime} with the minute-of-hour value altered. + * Returns a copy of this {@code LocalDateTime} with the minute-of-hour altered. *

      * This instance is immutable and unaffected by this method call. * @@ -1063,7 +1069,7 @@ public final class LocalDateTime } /** - * Returns a copy of this {@code LocalDateTime} with the second-of-minute value altered. + * Returns a copy of this {@code LocalDateTime} with the second-of-minute altered. *

      * This instance is immutable and unaffected by this method call. * @@ -1077,7 +1083,7 @@ public final class LocalDateTime } /** - * Returns a copy of this {@code LocalDateTime} with the nano-of-second value altered. + * Returns a copy of this {@code LocalDateTime} with the nano-of-second altered. *

      * This instance is immutable and unaffected by this method call. * @@ -1109,7 +1115,7 @@ public final class LocalDateTime * @param unit the unit to truncate to, not null * @return a {@code LocalDateTime} based on this date-time with the time truncated, not null * @throws DateTimeException if unable to truncate - * @throws UnsupportedTemporalTypeException if the field is not supported + * @throws UnsupportedTemporalTypeException if the unit is not supported */ public LocalDateTime truncatedTo(TemporalUnit unit) { return with(date, time.truncatedTo(unit)); @@ -1192,7 +1198,7 @@ public final class LocalDateTime //----------------------------------------------------------------------- /** - * Returns a copy of this {@code LocalDateTime} with the specified period in years added. + * Returns a copy of this {@code LocalDateTime} with the specified number of years added. *

      * This method adds the specified amount to the years field in three steps: *

        @@ -1217,7 +1223,7 @@ public final class LocalDateTime } /** - * Returns a copy of this {@code LocalDateTime} with the specified period in months added. + * Returns a copy of this {@code LocalDateTime} with the specified number of months added. *

        * This method adds the specified amount to the months field in three steps: *

          @@ -1242,7 +1248,7 @@ public final class LocalDateTime } /** - * Returns a copy of this {@code LocalDateTime} with the specified period in weeks added. + * Returns a copy of this {@code LocalDateTime} with the specified number of weeks added. *

          * This method adds the specified amount in weeks to the days field incrementing * the month and year fields as necessary to ensure the result remains valid. @@ -1262,7 +1268,7 @@ public final class LocalDateTime } /** - * Returns a copy of this {@code LocalDateTime} with the specified period in days added. + * Returns a copy of this {@code LocalDateTime} with the specified number of days added. *

          * This method adds the specified amount to the days field incrementing the * month and year fields as necessary to ensure the result remains valid. @@ -1283,7 +1289,7 @@ public final class LocalDateTime //----------------------------------------------------------------------- /** - * Returns a copy of this {@code LocalDateTime} with the specified period in hours added. + * Returns a copy of this {@code LocalDateTime} with the specified number of hours added. *

          * This instance is immutable and unaffected by this method call. * @@ -1296,7 +1302,7 @@ public final class LocalDateTime } /** - * Returns a copy of this {@code LocalDateTime} with the specified period in minutes added. + * Returns a copy of this {@code LocalDateTime} with the specified number of minutes added. *

          * This instance is immutable and unaffected by this method call. * @@ -1309,7 +1315,7 @@ public final class LocalDateTime } /** - * Returns a copy of this {@code LocalDateTime} with the specified period in seconds added. + * Returns a copy of this {@code LocalDateTime} with the specified number of seconds added. *

          * This instance is immutable and unaffected by this method call. * @@ -1322,7 +1328,7 @@ public final class LocalDateTime } /** - * Returns a copy of this {@code LocalDateTime} with the specified period in nanoseconds added. + * Returns a copy of this {@code LocalDateTime} with the specified number of nanoseconds added. *

          * This instance is immutable and unaffected by this method call. * @@ -1391,7 +1397,7 @@ public final class LocalDateTime //----------------------------------------------------------------------- /** - * Returns a copy of this {@code LocalDateTime} with the specified period in years subtracted. + * Returns a copy of this {@code LocalDateTime} with the specified number of years subtracted. *

          * This method subtracts the specified amount from the years field in three steps: *

            @@ -1415,7 +1421,7 @@ public final class LocalDateTime } /** - * Returns a copy of this {@code LocalDateTime} with the specified period in months subtracted. + * Returns a copy of this {@code LocalDateTime} with the specified number of months subtracted. *

            * This method subtracts the specified amount from the months field in three steps: *

              @@ -1439,7 +1445,7 @@ public final class LocalDateTime } /** - * Returns a copy of this {@code LocalDateTime} with the specified period in weeks subtracted. + * Returns a copy of this {@code LocalDateTime} with the specified number of weeks subtracted. *

              * This method subtracts the specified amount in weeks from the days field decrementing * the month and year fields as necessary to ensure the result remains valid. @@ -1458,9 +1464,9 @@ public final class LocalDateTime } /** - * Returns a copy of this {@code LocalDateTime} with the specified period in days subtracted. + * Returns a copy of this {@code LocalDateTime} with the specified number of days subtracted. *

              - * This method subtracts the specified amount from the days field incrementing the + * This method subtracts the specified amount from the days field decrementing the * month and year fields as necessary to ensure the result remains valid. * The result is only invalid if the maximum/minimum year is exceeded. *

              @@ -1478,7 +1484,7 @@ public final class LocalDateTime //----------------------------------------------------------------------- /** - * Returns a copy of this {@code LocalDateTime} with the specified period in hours subtracted. + * Returns a copy of this {@code LocalDateTime} with the specified number of hours subtracted. *

              * This instance is immutable and unaffected by this method call. * @@ -1491,7 +1497,7 @@ public final class LocalDateTime } /** - * Returns a copy of this {@code LocalDateTime} with the specified period in minutes subtracted. + * Returns a copy of this {@code LocalDateTime} with the specified number of minutes subtracted. *

              * This instance is immutable and unaffected by this method call. * @@ -1504,7 +1510,7 @@ public final class LocalDateTime } /** - * Returns a copy of this {@code LocalDateTime} with the specified period in seconds subtracted. + * Returns a copy of this {@code LocalDateTime} with the specified number of seconds subtracted. *

              * This instance is immutable and unaffected by this method call. * @@ -1517,7 +1523,7 @@ public final class LocalDateTime } /** - * Returns a copy of this {@code LocalDateTime} with the specified period in nanoseconds subtracted. + * Returns a copy of this {@code LocalDateTime} with the specified number of nanoseconds subtracted. *

              * This instance is immutable and unaffected by this method call. * @@ -1575,7 +1581,7 @@ public final class LocalDateTime * what the result of this method will be. *

              * The result of this method is obtained by invoking the - * {@link java.time.temporal.TemporalQuery#queryFrom(TemporalAccessor)} method on the + * {@link TemporalQuery#queryFrom(TemporalAccessor)} method on the * specified query passing {@code this} as the argument. * * @param the type of the result diff --git a/jdk/src/share/classes/java/time/LocalTime.java b/jdk/src/share/classes/java/time/LocalTime.java index 0fcf89d26a3..efb5265ce00 100644 --- a/jdk/src/share/classes/java/time/LocalTime.java +++ b/jdk/src/share/classes/java/time/LocalTime.java @@ -93,7 +93,7 @@ import java.time.temporal.ValueRange; import java.util.Objects; /** - * A time without time-zone in the ISO-8601 calendar system, + * A time without a time-zone in the ISO-8601 calendar system, * such as {@code 10:15:30}. *

              * {@code LocalTime} is an immutable date-time object that represents a time, @@ -101,7 +101,7 @@ import java.util.Objects; * Time is represented to nanosecond precision. * For example, the value "13:45.30.123456789" can be stored in a {@code LocalTime}. *

              - * It does not store or represent a date or time-zone. + * This class does not store or represent a date or time-zone. * Instead, it is a description of the local time as seen on a wall clock. * It cannot represent an instant on the time-line without additional information * such as an offset or time-zone. @@ -280,7 +280,7 @@ public final class LocalTime return ofNanoOfDay(secsOfDay * NANOS_PER_SECOND + now.getNano()); } - //------------------------get----------------------------------------------- + //----------------------------------------------------------------------- /** * Obtains an instance of {@code LocalTime} from an hour and minute. *

              @@ -395,7 +395,7 @@ public final class LocalTime * on extracting the {@link ChronoField#NANO_OF_DAY NANO_OF_DAY} field. *

              * This method matches the signature of the functional interface {@link TemporalQuery} - * allowing it to be used in queries via method reference, {@code LocalTime::from}. + * allowing it to be used as a query via method reference, {@code LocalTime::from}. * * @param temporal the temporal object to convert, not null * @return the local time, not null @@ -418,7 +418,7 @@ public final class LocalTime * The string must represent a valid time and is parsed using * {@link java.time.format.DateTimeFormatter#ISO_LOCAL_TIME}. * - * @param text the text to parse such as "10:15:30", not null + * @param text the text to parse such as "10:15:30", not null * @return the parsed local time, not null * @throws DateTimeParseException if the text cannot be parsed */ @@ -524,7 +524,7 @@ public final class LocalTime /** * Checks if the specified unit is supported. *

              - * This checks if the specified unit can be added to, or subtracted from, this date-time. + * This checks if the specified unit can be added to, or subtracted from, this time. * If false, then calling the {@link #plus(long, TemporalUnit)} and * {@link #minus(long, TemporalUnit) minus} methods will throw an exception. *

              @@ -589,7 +589,7 @@ public final class LocalTime /** * Gets the value of the specified field from this time as an {@code int}. *

              - * This queries this time for the value for the specified field. + * This queries this time for the value of the specified field. * The returned value will always be within the valid range of values for the field. * If it is not possible to return the value, because the field is not supported * or for some other reason, an exception is thrown. @@ -597,7 +597,7 @@ public final class LocalTime * If the field is a {@link ChronoField} then the query is implemented here. * The {@link #isSupported(TemporalField) supported fields} will return valid * values based on this time, except {@code NANO_OF_DAY} and {@code MICRO_OF_DAY} - * which are too large to fit in an {@code int} and throw a {@code DateTimeException}. + * which are too large to fit in an {@code int} and throw a {@code UnsupportedTemporalTypeException}. * All other {@code ChronoField} instances will throw an {@code UnsupportedTemporalTypeException}. *

              * If the field is not a {@code ChronoField}, then the result of this method @@ -624,7 +624,7 @@ public final class LocalTime /** * Gets the value of the specified field from this time as a {@code long}. *

              - * This queries this time for the value for the specified field. + * This queries this time for the value of the specified field. * If it is not possible to return the value, because the field is not supported * or for some other reason, an exception is thrown. *

              @@ -858,7 +858,7 @@ public final class LocalTime //----------------------------------------------------------------------- /** - * Returns a copy of this {@code LocalTime} with the hour-of-day value altered. + * Returns a copy of this {@code LocalTime} with the hour-of-day altered. *

              * This instance is immutable and unaffected by this method call. * @@ -875,7 +875,7 @@ public final class LocalTime } /** - * Returns a copy of this {@code LocalTime} with the minute-of-hour value altered. + * Returns a copy of this {@code LocalTime} with the minute-of-hour altered. *

              * This instance is immutable and unaffected by this method call. * @@ -892,7 +892,7 @@ public final class LocalTime } /** - * Returns a copy of this {@code LocalTime} with the second-of-minute value altered. + * Returns a copy of this {@code LocalTime} with the second-of-minute altered. *

              * This instance is immutable and unaffected by this method call. * @@ -909,7 +909,7 @@ public final class LocalTime } /** - * Returns a copy of this {@code LocalTime} with the nano-of-second value altered. + * Returns a copy of this {@code LocalTime} with the nano-of-second altered. *

              * This instance is immutable and unaffected by this method call. * @@ -929,7 +929,7 @@ public final class LocalTime /** * Returns a copy of this {@code LocalTime} with the time truncated. *

              - * Truncating the time returns a copy of the original time with fields + * Truncation returns a copy of the original time with fields * smaller than the specified unit set to zero. * For example, truncating with the {@link ChronoUnit#MINUTES minutes} unit * will set the second-of-minute and nano-of-second field to zero. @@ -1059,7 +1059,7 @@ public final class LocalTime //----------------------------------------------------------------------- /** - * Returns a copy of this {@code LocalTime} with the specified period in hours added. + * Returns a copy of this {@code LocalTime} with the specified number of hours added. *

              * This adds the specified number of hours to this time, returning a new time. * The calculation wraps around midnight. @@ -1078,7 +1078,7 @@ public final class LocalTime } /** - * Returns a copy of this {@code LocalTime} with the specified period in minutes added. + * Returns a copy of this {@code LocalTime} with the specified number of minutes added. *

              * This adds the specified number of minutes to this time, returning a new time. * The calculation wraps around midnight. @@ -1103,7 +1103,7 @@ public final class LocalTime } /** - * Returns a copy of this {@code LocalTime} with the specified period in seconds added. + * Returns a copy of this {@code LocalTime} with the specified number of seconds added. *

              * This adds the specified number of seconds to this time, returning a new time. * The calculation wraps around midnight. @@ -1130,7 +1130,7 @@ public final class LocalTime } /** - * Returns a copy of this {@code LocalTime} with the specified period in nanoseconds added. + * Returns a copy of this {@code LocalTime} with the specified number of nanoseconds added. *

              * This adds the specified number of nanoseconds to this time, returning a new time. * The calculation wraps around midnight. @@ -1208,7 +1208,7 @@ public final class LocalTime //----------------------------------------------------------------------- /** - * Returns a copy of this {@code LocalTime} with the specified period in hours subtracted. + * Returns a copy of this {@code LocalTime} with the specified number of hours subtracted. *

              * This subtracts the specified number of hours from this time, returning a new time. * The calculation wraps around midnight. @@ -1223,7 +1223,7 @@ public final class LocalTime } /** - * Returns a copy of this {@code LocalTime} with the specified period in minutes subtracted. + * Returns a copy of this {@code LocalTime} with the specified number of minutes subtracted. *

              * This subtracts the specified number of minutes from this time, returning a new time. * The calculation wraps around midnight. @@ -1238,7 +1238,7 @@ public final class LocalTime } /** - * Returns a copy of this {@code LocalTime} with the specified period in seconds subtracted. + * Returns a copy of this {@code LocalTime} with the specified number of seconds subtracted. *

              * This subtracts the specified number of seconds from this time, returning a new time. * The calculation wraps around midnight. @@ -1253,7 +1253,7 @@ public final class LocalTime } /** - * Returns a copy of this {@code LocalTime} with the specified period in nanoseconds subtracted. + * Returns a copy of this {@code LocalTime} with the specified number of nanoseconds subtracted. *

              * This subtracts the specified number of nanoseconds from this time, returning a new time. * The calculation wraps around midnight. @@ -1470,14 +1470,13 @@ public final class LocalTime //----------------------------------------------------------------------- /** - * Compares this {@code LocalTime} to another time. + * Compares this time to another time. *

              * The comparison is based on the time-line position of the local times within a day. * It is "consistent with equals", as defined by {@link Comparable}. * * @param other the other time to compare to, not null * @return the comparator value, negative if less, positive if greater - * @throws NullPointerException if {@code other} is null */ @Override public int compareTo(LocalTime other) { @@ -1495,26 +1494,24 @@ public final class LocalTime } /** - * Checks if this {@code LocalTime} is after the specified time. + * Checks if this time is after the specified time. *

              * The comparison is based on the time-line position of the time within a day. * * @param other the other time to compare to, not null * @return true if this is after the specified time - * @throws NullPointerException if {@code other} is null */ public boolean isAfter(LocalTime other) { return compareTo(other) > 0; } /** - * Checks if this {@code LocalTime} is before the specified time. + * Checks if this time is before the specified time. *

              * The comparison is based on the time-line position of the time within a day. * * @param other the other time to compare to, not null * @return true if this point is before the specified time - * @throws NullPointerException if {@code other} is null */ public boolean isBefore(LocalTime other) { return compareTo(other) < 0; diff --git a/jdk/src/share/classes/java/time/Month.java b/jdk/src/share/classes/java/time/Month.java index 2e85b6cf601..5e8eb26781c 100644 --- a/jdk/src/share/classes/java/time/Month.java +++ b/jdk/src/share/classes/java/time/Month.java @@ -202,7 +202,7 @@ public enum Month implements TemporalAccessor, TemporalAdjuster { * chronology, or can be converted to a {@code LocalDate}. *

              * This method matches the signature of the functional interface {@link TemporalQuery} - * allowing it to be used in queries via method reference, {@code Month::from}. + * allowing it to be used as a query via method reference, {@code Month::from}. * * @param temporal the temporal object to convert, not null * @return the month-of-year, not null @@ -315,7 +315,7 @@ public enum Month implements TemporalAccessor, TemporalAdjuster { /** * Gets the value of the specified field from this month-of-year as an {@code int}. *

              - * This queries this month for the value for the specified field. + * This queries this month for the value of the specified field. * The returned value will always be within the valid range of values for the field. * If it is not possible to return the value, because the field is not supported * or for some other reason, an exception is thrown. @@ -348,7 +348,7 @@ public enum Month implements TemporalAccessor, TemporalAdjuster { /** * Gets the value of the specified field from this month-of-year as a {@code long}. *

              - * This queries this month for the value for the specified field. + * This queries this month for the value of the specified field. * If it is not possible to return the value, because the field is not supported * or for some other reason, an exception is thrown. *

              diff --git a/jdk/src/share/classes/java/time/MonthDay.java b/jdk/src/share/classes/java/time/MonthDay.java index 5b7844fd468..7411f45bd87 100644 --- a/jdk/src/share/classes/java/time/MonthDay.java +++ b/jdk/src/share/classes/java/time/MonthDay.java @@ -90,8 +90,8 @@ import java.util.Objects; * A month-day in the ISO-8601 calendar system, such as {@code --12-03}. *

              * {@code MonthDay} is an immutable date-time object that represents the combination - * of a year and month. Any field that can be derived from a month and day, such as - * quarter-of-year, can be obtained. + * of a month and day-of-month. Any field that can be derived from a month and day, + * such as quarter-of-year, can be obtained. *

              * This class does not store or represent a year, time or time-zone. * For example, the value "December 3rd" can be stored in a {@code MonthDay}. @@ -154,7 +154,7 @@ public final class MonthDay /** * Obtains the current month-day from the system clock in the default time-zone. *

              - * This will query the {@link java.time.Clock#systemDefaultZone() system clock} in the default + * This will query the {@link Clock#systemDefaultZone() system clock} in the default * time-zone to obtain the current month-day. *

              * Using this method will prevent the ability to use an alternate clock for testing @@ -169,7 +169,7 @@ public final class MonthDay /** * Obtains the current month-day from the system clock in the specified time-zone. *

              - * This will query the {@link Clock#system(java.time.ZoneId) system clock} to obtain the current month-day. + * This will query the {@link Clock#system(ZoneId) system clock} to obtain the current month-day. * Specifying the time-zone avoids dependence on the default time-zone. *

              * Using this method will prevent the ability to use an alternate clock for testing @@ -258,7 +258,7 @@ public final class MonthDay * chronology, or can be converted to a {@code LocalDate}. *

              * This method matches the signature of the functional interface {@link TemporalQuery} - * allowing it to be used in queries via method reference, {@code MonthDay::from}. + * allowing it to be used as a query via method reference, {@code MonthDay::from}. * * @param temporal the temporal object to convert, not null * @return the month-day, not null @@ -389,7 +389,7 @@ public final class MonthDay /** * Gets the value of the specified field from this month-day as an {@code int}. *

              - * This queries this month-day for the value for the specified field. + * This queries this month-day for the value of the specified field. * The returned value will always be within the valid range of values for the field. * If it is not possible to return the value, because the field is not supported * or for some other reason, an exception is thrown. @@ -420,7 +420,7 @@ public final class MonthDay /** * Gets the value of the specified field from this month-day as a {@code long}. *

              - * This queries this month-day for the value for the specified field. + * This queries this month-day for the value of the specified field. * If it is not possible to return the value, because the field is not supported * or for some other reason, an exception is thrown. *

              @@ -501,7 +501,7 @@ public final class MonthDay * This method checks whether this month and day and the input year form * a valid date. This can only return false for February 29th. * - * @param year the year to validate, an out of range value returns false + * @param year the year to validate * @return true if the year is valid for this month-day * @see Year#isValidMonthDay(MonthDay) */ @@ -685,7 +685,7 @@ public final class MonthDay } /** - * Is this month-day after the specified month-day. + * Checks if this month-day is after the specified month-day. * * @param other the other month-day to compare to, not null * @return true if this is after the specified month-day @@ -695,7 +695,7 @@ public final class MonthDay } /** - * Is this month-day before the specified month-day. + * Checks if this month-day is before the specified month-day. * * @param other the other month-day to compare to, not null * @return true if this point is before the specified month-day diff --git a/jdk/src/share/classes/java/time/OffsetDateTime.java b/jdk/src/share/classes/java/time/OffsetDateTime.java index cd0eff6e567..49b918b0604 100644 --- a/jdk/src/share/classes/java/time/OffsetDateTime.java +++ b/jdk/src/share/classes/java/time/OffsetDateTime.java @@ -199,7 +199,7 @@ public final class OffsetDateTime /** * Obtains the current date-time from the system clock in the default time-zone. *

              - * This will query the {@link java.time.Clock#systemDefaultZone() system clock} in the default + * This will query the {@link Clock#systemDefaultZone() system clock} in the default * time-zone to obtain the current date-time. * The offset will be calculated from the time-zone in the clock. *

              @@ -215,7 +215,7 @@ public final class OffsetDateTime /** * Obtains the current date-time from the system clock in the specified time-zone. *

              - * This will query the {@link Clock#system(java.time.ZoneId) system clock} to obtain the current date-time. + * This will query the {@link Clock#system(ZoneId) system clock} to obtain the current date-time. * Specifying the time-zone avoids dependence on the default time-zone. * The offset will be calculated from the specified time-zone. *

              @@ -345,7 +345,7 @@ public final class OffsetDateTime * those fields that are equivalent to the relevant objects. *

              * This method matches the signature of the functional interface {@link TemporalQuery} - * allowing it to be used in queries via method reference, {@code OffsetDateTime::from}. + * allowing it to be used as a query via method reference, {@code OffsetDateTime::from}. * * @param temporal the temporal object to convert, not null * @return the offset date-time, not null @@ -566,7 +566,7 @@ public final class OffsetDateTime /** * Gets the value of the specified field from this date-time as an {@code int}. *

              - * This queries this date-time for the value for the specified field. + * This queries this date-time for the value of the specified field. * The returned value will always be within the valid range of values for the field. * If it is not possible to return the value, because the field is not supported * or for some other reason, an exception is thrown. @@ -575,7 +575,7 @@ public final class OffsetDateTime * The {@link #isSupported(TemporalField) supported fields} will return valid * values based on this date-time, except {@code NANO_OF_DAY}, {@code MICRO_OF_DAY}, * {@code EPOCH_DAY}, {@code PROLEPTIC_MONTH} and {@code INSTANT_SECONDS} which are too - * large to fit in an {@code int} and throw a {@code DateTimeException}. + * large to fit in an {@code int} and throw a {@code UnsupportedTemporalTypeException}. * All other {@code ChronoField} instances will throw an {@code UnsupportedTemporalTypeException}. *

              * If the field is not a {@code ChronoField}, then the result of this method @@ -608,7 +608,7 @@ public final class OffsetDateTime /** * Gets the value of the specified field from this date-time as a {@code long}. *

              - * This queries this date-time for the value for the specified field. + * This queries this date-time for the value of the specified field. * If it is not possible to return the value, because the field is not supported * or for some other reason, an exception is thrown. *

              @@ -703,7 +703,7 @@ public final class OffsetDateTime //----------------------------------------------------------------------- /** - * Gets the {@code LocalDateTime} part of this offset date-time. + * Gets the {@code LocalDateTime} part of this date-time. *

              * This returns a {@code LocalDateTime} with the same year, month, day and time * as this date-time. @@ -795,10 +795,10 @@ public final class OffsetDateTime /** * Gets the day-of-week field, which is an enum {@code DayOfWeek}. *

              - * This method returns the enum {@link java.time.DayOfWeek} for the day-of-week. + * This method returns the enum {@link DayOfWeek} for the day-of-week. * This avoids confusion as to what {@code int} values mean. * If you need access to the primitive {@code int} value then the enum - * provides the {@link java.time.DayOfWeek#getValue() int value}. + * provides the {@link DayOfWeek#getValue() int value}. *

              * Additional information can be obtained from the {@code DayOfWeek}. * This includes textual names of the values. @@ -868,7 +868,8 @@ public final class OffsetDateTime *

              * A simple adjuster might simply set the one of the fields, such as the year field. * A more complex adjuster might set the date to the last day of the month. - * A selection of common adjustments is provided in {@link TemporalAdjuster}. + * A selection of common adjustments is provided in + * {@link java.time.temporal.TemporalAdjusters TemporalAdjusters}. * These include finding the "last day of the month" and "next Wednesday". * Key date-time classes also implement the {@code TemporalAdjuster} interface, * such as {@link Month} and {@link java.time.MonthDay MonthDay}. @@ -878,7 +879,7 @@ public final class OffsetDateTime * For example this code returns a date on the last day of July: *

                    *  import static java.time.Month.*;
              -     *  import static java.time.temporal.Adjusters.*;
              +     *  import static java.time.temporal.TemporalAdjusters.*;
                    *
                    *  result = offsetDateTime.with(JULY).with(lastDayOfMonth());
                    * 
              @@ -920,7 +921,7 @@ public final class OffsetDateTime /** * Returns a copy of this date-time with the specified field set to a new value. *

              - * TThis returns an {@code OffsetDateTime}, based on this one, with the value + * This returns an {@code OffsetDateTime}, based on this one, with the value * for the specified field changed. * This can be used to change any supported field, such as the year, month or day-of-month. * If it is not possible to set the value, because the field is not supported or for @@ -979,7 +980,8 @@ public final class OffsetDateTime //----------------------------------------------------------------------- /** * Returns a copy of this {@code OffsetDateTime} with the year altered. - * The offset does not affect the calculation and will be the same in the result. + *

              + * The time and offset do not affect the calculation and will be the same in the result. * If the day-of-month is invalid for the year, it will be changed to the last valid day of the month. *

              * This instance is immutable and unaffected by this method call. @@ -994,7 +996,8 @@ public final class OffsetDateTime /** * Returns a copy of this {@code OffsetDateTime} with the month-of-year altered. - * The offset does not affect the calculation and will be the same in the result. + *

              + * The time and offset do not affect the calculation and will be the same in the result. * If the day-of-month is invalid for the year, it will be changed to the last valid day of the month. *

              * This instance is immutable and unaffected by this method call. @@ -1009,8 +1012,9 @@ public final class OffsetDateTime /** * Returns a copy of this {@code OffsetDateTime} with the day-of-month altered. + *

              * If the resulting {@code OffsetDateTime} is invalid, an exception is thrown. - * The offset does not affect the calculation and will be the same in the result. + * The time and offset do not affect the calculation and will be the same in the result. *

              * This instance is immutable and unaffected by this method call. * @@ -1025,6 +1029,8 @@ public final class OffsetDateTime /** * Returns a copy of this {@code OffsetDateTime} with the day-of-year altered. + *

              + * The time and offset do not affect the calculation and will be the same in the result. * If the resulting {@code OffsetDateTime} is invalid, an exception is thrown. *

              * This instance is immutable and unaffected by this method call. @@ -1040,9 +1046,9 @@ public final class OffsetDateTime //----------------------------------------------------------------------- /** - * Returns a copy of this {@code OffsetDateTime} with the hour-of-day value altered. + * Returns a copy of this {@code OffsetDateTime} with the hour-of-day altered. *

              - * The offset does not affect the calculation and will be the same in the result. + * The date and offset do not affect the calculation and will be the same in the result. *

              * This instance is immutable and unaffected by this method call. * @@ -1055,9 +1061,9 @@ public final class OffsetDateTime } /** - * Returns a copy of this {@code OffsetDateTime} with the minute-of-hour value altered. + * Returns a copy of this {@code OffsetDateTime} with the minute-of-hour altered. *

              - * The offset does not affect the calculation and will be the same in the result. + * The date and offset do not affect the calculation and will be the same in the result. *

              * This instance is immutable and unaffected by this method call. * @@ -1070,9 +1076,9 @@ public final class OffsetDateTime } /** - * Returns a copy of this {@code OffsetDateTime} with the second-of-minute value altered. + * Returns a copy of this {@code OffsetDateTime} with the second-of-minute altered. *

              - * The offset does not affect the calculation and will be the same in the result. + * The date and offset do not affect the calculation and will be the same in the result. *

              * This instance is immutable and unaffected by this method call. * @@ -1085,15 +1091,15 @@ public final class OffsetDateTime } /** - * Returns a copy of this {@code OffsetDateTime} with the nano-of-second value altered. + * Returns a copy of this {@code OffsetDateTime} with the nano-of-second altered. *

              - * The offset does not affect the calculation and will be the same in the result. + * The date and offset do not affect the calculation and will be the same in the result. *

              * This instance is immutable and unaffected by this method call. * * @param nanoOfSecond the nano-of-second to set in the result, from 0 to 999,999,999 * @return an {@code OffsetDateTime} based on this date-time with the requested nanosecond, not null - * @throws DateTimeException if the nanos value is invalid + * @throws DateTimeException if the nano value is invalid */ public OffsetDateTime withNano(int nanoOfSecond) { return with(dateTime.withNano(nanoOfSecond), offset); @@ -1187,7 +1193,7 @@ public final class OffsetDateTime //----------------------------------------------------------------------- /** - * Returns a copy of this {@code OffsetDateTime} with the specified period in years added. + * Returns a copy of this {@code OffsetDateTime} with the specified number of years added. *

              * This method adds the specified amount to the years field in three steps: *

                @@ -1211,7 +1217,7 @@ public final class OffsetDateTime } /** - * Returns a copy of this {@code OffsetDateTime} with the specified period in months added. + * Returns a copy of this {@code OffsetDateTime} with the specified number of months added. *

                * This method adds the specified amount to the months field in three steps: *

                  @@ -1235,13 +1241,13 @@ public final class OffsetDateTime } /** - * Returns a copy of this OffsetDateTime with the specified period in weeks added. + * Returns a copy of this OffsetDateTime with the specified number of weeks added. *

                  * This method adds the specified amount in weeks to the days field incrementing * the month and year fields as necessary to ensure the result remains valid. * The result is only invalid if the maximum/minimum year is exceeded. *

                  - * For example, 2008-12-31 plus one week would result in the 2009-01-07. + * For example, 2008-12-31 plus one week would result in 2009-01-07. *

                  * This instance is immutable and unaffected by this method call. * @@ -1254,13 +1260,13 @@ public final class OffsetDateTime } /** - * Returns a copy of this OffsetDateTime with the specified period in days added. + * Returns a copy of this OffsetDateTime with the specified number of days added. *

                  * This method adds the specified amount to the days field incrementing the * month and year fields as necessary to ensure the result remains valid. * The result is only invalid if the maximum/minimum year is exceeded. *

                  - * For example, 2008-12-31 plus one day would result in the 2009-01-01. + * For example, 2008-12-31 plus one day would result in 2009-01-01. *

                  * This instance is immutable and unaffected by this method call. * @@ -1273,7 +1279,7 @@ public final class OffsetDateTime } /** - * Returns a copy of this {@code OffsetDateTime} with the specified period in hours added. + * Returns a copy of this {@code OffsetDateTime} with the specified number of hours added. *

                  * This instance is immutable and unaffected by this method call. * @@ -1286,7 +1292,7 @@ public final class OffsetDateTime } /** - * Returns a copy of this {@code OffsetDateTime} with the specified period in minutes added. + * Returns a copy of this {@code OffsetDateTime} with the specified number of minutes added. *

                  * This instance is immutable and unaffected by this method call. * @@ -1299,7 +1305,7 @@ public final class OffsetDateTime } /** - * Returns a copy of this {@code OffsetDateTime} with the specified period in seconds added. + * Returns a copy of this {@code OffsetDateTime} with the specified number of seconds added. *

                  * This instance is immutable and unaffected by this method call. * @@ -1312,7 +1318,7 @@ public final class OffsetDateTime } /** - * Returns a copy of this {@code OffsetDateTime} with the specified period in nanoseconds added. + * Returns a copy of this {@code OffsetDateTime} with the specified number of nanoseconds added. *

                  * This instance is immutable and unaffected by this method call. * @@ -1376,11 +1382,11 @@ public final class OffsetDateTime //----------------------------------------------------------------------- /** - * Returns a copy of this {@code OffsetDateTime} with the specified period in years subtracted. + * Returns a copy of this {@code OffsetDateTime} with the specified number of years subtracted. *

                  * This method subtracts the specified amount from the years field in three steps: *

                    - *
                  1. Subtract the input years to the year field
                  2. + *
                  3. Subtract the input years from the year field
                  4. *
                  5. Check if the resulting date would be invalid
                  6. *
                  7. Adjust the day-of-month to the last valid day if necessary
                  8. *
                  @@ -1400,11 +1406,11 @@ public final class OffsetDateTime } /** - * Returns a copy of this {@code OffsetDateTime} with the specified period in months subtracted. + * Returns a copy of this {@code OffsetDateTime} with the specified number of months subtracted. *

                  * This method subtracts the specified amount from the months field in three steps: *

                    - *
                  1. Subtract the input months to the month-of-year field
                  2. + *
                  3. Subtract the input months from the month-of-year field
                  4. *
                  5. Check if the resulting date would be invalid
                  6. *
                  7. Adjust the day-of-month to the last valid day if necessary
                  8. *
                  @@ -1424,13 +1430,13 @@ public final class OffsetDateTime } /** - * Returns a copy of this {@code OffsetDateTime} with the specified period in weeks subtracted. + * Returns a copy of this {@code OffsetDateTime} with the specified number of weeks subtracted. *

                  * This method subtracts the specified amount in weeks from the days field decrementing * the month and year fields as necessary to ensure the result remains valid. * The result is only invalid if the maximum/minimum year is exceeded. *

                  - * For example, 2008-12-31 minus one week would result in the 2009-01-07. + * For example, 2008-12-31 minus one week would result in 2009-01-07. *

                  * This instance is immutable and unaffected by this method call. * @@ -1443,13 +1449,13 @@ public final class OffsetDateTime } /** - * Returns a copy of this {@code OffsetDateTime} with the specified period in days subtracted. + * Returns a copy of this {@code OffsetDateTime} with the specified number of days subtracted. *

                  - * This method subtracts the specified amount from the days field incrementing the + * This method subtracts the specified amount from the days field decrementing the * month and year fields as necessary to ensure the result remains valid. * The result is only invalid if the maximum/minimum year is exceeded. *

                  - * For example, 2008-12-31 minus one day would result in the 2009-01-01. + * For example, 2008-12-31 minus one day would result in 2009-01-01. *

                  * This instance is immutable and unaffected by this method call. * @@ -1462,7 +1468,7 @@ public final class OffsetDateTime } /** - * Returns a copy of this {@code OffsetDateTime} with the specified period in hours subtracted. + * Returns a copy of this {@code OffsetDateTime} with the specified number of hours subtracted. *

                  * This instance is immutable and unaffected by this method call. * @@ -1475,7 +1481,7 @@ public final class OffsetDateTime } /** - * Returns a copy of this {@code OffsetDateTime} with the specified period in minutes subtracted. + * Returns a copy of this {@code OffsetDateTime} with the specified number of minutes subtracted. *

                  * This instance is immutable and unaffected by this method call. * @@ -1488,7 +1494,7 @@ public final class OffsetDateTime } /** - * Returns a copy of this {@code OffsetDateTime} with the specified period in seconds subtracted. + * Returns a copy of this {@code OffsetDateTime} with the specified number of seconds subtracted. *

                  * This instance is immutable and unaffected by this method call. * @@ -1501,7 +1507,7 @@ public final class OffsetDateTime } /** - * Returns a copy of this {@code OffsetDateTime} with the specified period in nanoseconds subtracted. + * Returns a copy of this {@code OffsetDateTime} with the specified number of nanoseconds subtracted. *

                  * This instance is immutable and unaffected by this method call. * @@ -1598,7 +1604,7 @@ public final class OffsetDateTime * objects in terms of a single {@code TemporalUnit}. * The start and end points are {@code this} and the specified date-time. * The result will be negative if the end is before the start. - * For example, the period in days between two date-times can be calculated + * For example, the amount in days between two date-times can be calculated * using {@code startDateTime.until(endDateTime, DAYS)}. *

                  * The {@code Temporal} passed to this method is converted to a @@ -1608,7 +1614,7 @@ public final class OffsetDateTime *

                  * The calculation returns a whole number, representing the number of * complete units between the two date-times. - * For example, the period in months between 2012-06-15T00:00Z and 2012-08-14T23:59Z + * For example, the amount in months between 2012-06-15T00:00Z and 2012-08-14T23:59Z * will only be one month as it is one minute short of two months. *

                  * There are two equivalent ways of using this method. @@ -1769,7 +1775,7 @@ public final class OffsetDateTime //----------------------------------------------------------------------- /** - * Compares this {@code OffsetDateTime} to another date-time. + * Compares this date-time to another date-time. *

                  * The comparison is based on the instant then on the local date-time. * It is "consistent with equals", as defined by {@link Comparable}. diff --git a/jdk/src/share/classes/java/time/OffsetTime.java b/jdk/src/share/classes/java/time/OffsetTime.java index 32a7187d0f5..fca51fd8941 100644 --- a/jdk/src/share/classes/java/time/OffsetTime.java +++ b/jdk/src/share/classes/java/time/OffsetTime.java @@ -153,14 +153,14 @@ public final class OffsetTime /** * Obtains the current time from the system clock in the default time-zone. *

                  - * This will query the {@link java.time.Clock#systemDefaultZone() system clock} in the default + * This will query the {@link Clock#systemDefaultZone() system clock} in the default * time-zone to obtain the current time. * The offset will be calculated from the time-zone in the clock. *

                  * Using this method will prevent the ability to use an alternate clock for testing * because the clock is hard-coded. * - * @return the current time using the system clock, not null + * @return the current time using the system clock and default time-zone, not null */ public static OffsetTime now() { return now(Clock.systemDefaultZone()); @@ -169,7 +169,7 @@ public final class OffsetTime /** * Obtains the current time from the system clock in the specified time-zone. *

                  - * This will query the {@link Clock#system(java.time.ZoneId) system clock} to obtain the current time. + * This will query the {@link Clock#system(ZoneId) system clock} to obtain the current time. * Specifying the time-zone avoids dependence on the default time-zone. * The offset will be calculated from the specified time-zone. *

                  @@ -277,7 +277,7 @@ public final class OffsetTime * those fields that are equivalent to the relevant objects. *

                  * This method matches the signature of the functional interface {@link TemporalQuery} - * allowing it to be used in queries via method reference, {@code OffsetTime::from}. + * allowing it to be used as a query via method reference, {@code OffsetTime::from}. * * @param temporal the temporal object to convert, not null * @return the offset time, not null @@ -402,7 +402,7 @@ public final class OffsetTime /** * Checks if the specified unit is supported. *

                  - * This checks if the specified unit can be added to, or subtracted from, this date-time. + * This checks if the specified unit can be added to, or subtracted from, this offset-time. * If false, then calling the {@link #plus(long, TemporalUnit)} and * {@link #minus(long, TemporalUnit) minus} methods will throw an exception. *

                  @@ -473,7 +473,7 @@ public final class OffsetTime /** * Gets the value of the specified field from this time as an {@code int}. *

                  - * This queries this time for the value for the specified field. + * This queries this time for the value of the specified field. * The returned value will always be within the valid range of values for the field. * If it is not possible to return the value, because the field is not supported * or for some other reason, an exception is thrown. @@ -481,7 +481,7 @@ public final class OffsetTime * If the field is a {@link ChronoField} then the query is implemented here. * The {@link #isSupported(TemporalField) supported fields} will return valid * values based on this time, except {@code NANO_OF_DAY} and {@code MICRO_OF_DAY} - * which are too large to fit in an {@code int} and throw a {@code DateTimeException}. + * which are too large to fit in an {@code int} and throw a {@code UnsupportedTemporalTypeException}. * All other {@code ChronoField} instances will throw an {@code UnsupportedTemporalTypeException}. *

                  * If the field is not a {@code ChronoField}, then the result of this method @@ -505,7 +505,7 @@ public final class OffsetTime /** * Gets the value of the specified field from this time as a {@code long}. *

                  - * This queries this time for the value for the specified field. + * This queries this time for the value of the specified field. * If it is not possible to return the value, because the field is not supported * or for some other reason, an exception is thrown. *

                  @@ -575,7 +575,7 @@ public final class OffsetTime *

                  * This method returns an object with the specified {@code ZoneOffset} and a {@code LocalTime} * adjusted by the difference between the two offsets. - * This will result in the old and new objects representing the same instant an an implied day. + * This will result in the old and new objects representing the same instant on an implied day. * This is useful for finding the local time in a different offset. * For example, if this time represents {@code 10:30+02:00} and the offset specified is * {@code +03:00}, then this method will return {@code 11:30+03:00}. @@ -737,7 +737,7 @@ public final class OffsetTime //----------------------------------------------------------------------- /** - * Returns a copy of this {@code OffsetTime} with the hour-of-day value altered. + * Returns a copy of this {@code OffsetTime} with the hour-of-day altered. *

                  * The offset does not affect the calculation and will be the same in the result. *

                  @@ -752,7 +752,7 @@ public final class OffsetTime } /** - * Returns a copy of this {@code OffsetTime} with the minute-of-hour value altered. + * Returns a copy of this {@code OffsetTime} with the minute-of-hour altered. *

                  * The offset does not affect the calculation and will be the same in the result. *

                  @@ -767,7 +767,7 @@ public final class OffsetTime } /** - * Returns a copy of this {@code OffsetTime} with the second-of-minute value altered. + * Returns a copy of this {@code OffsetTime} with the second-of-minute altered. *

                  * The offset does not affect the calculation and will be the same in the result. *

                  @@ -782,7 +782,7 @@ public final class OffsetTime } /** - * Returns a copy of this {@code OffsetTime} with the nano-of-second value altered. + * Returns a copy of this {@code OffsetTime} with the nano-of-second altered. *

                  * The offset does not affect the calculation and will be the same in the result. *

                  @@ -884,7 +884,7 @@ public final class OffsetTime //----------------------------------------------------------------------- /** - * Returns a copy of this {@code OffsetTime} with the specified period in hours added. + * Returns a copy of this {@code OffsetTime} with the specified number of hours added. *

                  * This adds the specified number of hours to this time, returning a new time. * The calculation wraps around midnight. @@ -899,7 +899,7 @@ public final class OffsetTime } /** - * Returns a copy of this {@code OffsetTime} with the specified period in minutes added. + * Returns a copy of this {@code OffsetTime} with the specified number of minutes added. *

                  * This adds the specified number of minutes to this time, returning a new time. * The calculation wraps around midnight. @@ -914,7 +914,7 @@ public final class OffsetTime } /** - * Returns a copy of this {@code OffsetTime} with the specified period in seconds added. + * Returns a copy of this {@code OffsetTime} with the specified number of seconds added. *

                  * This adds the specified number of seconds to this time, returning a new time. * The calculation wraps around midnight. @@ -929,7 +929,7 @@ public final class OffsetTime } /** - * Returns a copy of this {@code OffsetTime} with the specified period in nanoseconds added. + * Returns a copy of this {@code OffsetTime} with the specified number of nanoseconds added. *

                  * This adds the specified number of nanoseconds to this time, returning a new time. * The calculation wraps around midnight. @@ -995,7 +995,7 @@ public final class OffsetTime //----------------------------------------------------------------------- /** - * Returns a copy of this {@code OffsetTime} with the specified period in hours subtracted. + * Returns a copy of this {@code OffsetTime} with the specified number of hours subtracted. *

                  * This subtracts the specified number of hours from this time, returning a new time. * The calculation wraps around midnight. @@ -1010,7 +1010,7 @@ public final class OffsetTime } /** - * Returns a copy of this {@code OffsetTime} with the specified period in minutes subtracted. + * Returns a copy of this {@code OffsetTime} with the specified number of minutes subtracted. *

                  * This subtracts the specified number of minutes from this time, returning a new time. * The calculation wraps around midnight. @@ -1025,7 +1025,7 @@ public final class OffsetTime } /** - * Returns a copy of this {@code OffsetTime} with the specified period in seconds subtracted. + * Returns a copy of this {@code OffsetTime} with the specified number of seconds subtracted. *

                  * This subtracts the specified number of seconds from this time, returning a new time. * The calculation wraps around midnight. @@ -1040,7 +1040,7 @@ public final class OffsetTime } /** - * Returns a copy of this {@code OffsetTime} with the specified period in nanoseconds subtracted. + * Returns a copy of this {@code OffsetTime} with the specified number of nanoseconds subtracted. *

                  * This subtracts the specified number of nanoseconds from this time, returning a new time. * The calculation wraps around midnight. @@ -1130,7 +1130,7 @@ public final class OffsetTime * objects in terms of a single {@code TemporalUnit}. * The start and end points are {@code this} and the specified time. * The result will be negative if the end is before the start. - * For example, the period in hours between two times can be calculated + * For example, the amount in hours between two times can be calculated * using {@code startTime.until(endTime, HOURS)}. *

                  * The {@code Temporal} passed to this method is converted to a @@ -1140,7 +1140,7 @@ public final class OffsetTime *

                  * The calculation returns a whole number, representing the number of * complete units between the two times. - * For example, the period in hours between 11:30Z and 13:29Z will only + * For example, the amount in hours between 11:30Z and 13:29Z will only * be one hour as it is one minute short of two hours. *

                  * There are two equivalent ways of using this method. @@ -1165,7 +1165,7 @@ public final class OffsetTime *

                  * This instance is immutable and unaffected by this method call. * - * @param endExclusive the end date, exclusive, which is converted to an {@code OffsetTime}, not null + * @param endExclusive the end time, exclusive, which is converted to an {@code OffsetTime}, not null * @param unit the unit to measure the amount in, not null * @return the amount of time between this time and the end time * @throws DateTimeException if the amount cannot be calculated, or the end @@ -1258,7 +1258,6 @@ public final class OffsetTime * * @param other the other time to compare to, not null * @return the comparator value, negative if less, positive if greater - * @throws NullPointerException if {@code other} is null */ @Override public int compareTo(OffsetTime other) { diff --git a/jdk/src/share/classes/java/time/Period.java b/jdk/src/share/classes/java/time/Period.java index 6087618ef9c..5d808a42b41 100644 --- a/jdk/src/share/classes/java/time/Period.java +++ b/jdk/src/share/classes/java/time/Period.java @@ -616,7 +616,7 @@ public final class Period *

                  * This instance is immutable and unaffected by this method call. * - * @param amountToAdd the period to add, not null + * @param amountToAdd the amount to add, not null * @return a {@code Period} based on this period with the requested period added, not null * @throws DateTimeException if the specified amount has a non-ISO chronology or * contains an invalid unit @@ -705,7 +705,7 @@ public final class Period *

                  * This instance is immutable and unaffected by this method call. * - * @param amountToSubtract the period to subtract, not null + * @param amountToSubtract the amount to subtract, not null * @return a {@code Period} based on this period with the requested period subtracted, not null * @throws DateTimeException if the specified amount has a non-ISO chronology or * contains an invalid unit diff --git a/jdk/src/share/classes/java/time/Year.java b/jdk/src/share/classes/java/time/Year.java index ff8528aef8f..e76e2a0a949 100644 --- a/jdk/src/share/classes/java/time/Year.java +++ b/jdk/src/share/classes/java/time/Year.java @@ -164,7 +164,7 @@ public final class Year /** * Obtains the current year from the system clock in the default time-zone. *

                  - * This will query the {@link java.time.Clock#systemDefaultZone() system clock} in the default + * This will query the {@link Clock#systemDefaultZone() system clock} in the default * time-zone to obtain the current year. *

                  * Using this method will prevent the ability to use an alternate clock for testing @@ -179,7 +179,7 @@ public final class Year /** * Obtains the current year from the system clock in the specified time-zone. *

                  - * This will query the {@link Clock#system(java.time.ZoneId) system clock} to obtain the current year. + * This will query the {@link Clock#system(ZoneId) system clock} to obtain the current year. * Specifying the time-zone avoids dependence on the default time-zone. *

                  * Using this method will prevent the ability to use an alternate clock for testing @@ -240,7 +240,7 @@ public final class Year * chronology, or can be converted to a {@code LocalDate}. *

                  * This method matches the signature of the functional interface {@link TemporalQuery} - * allowing it to be used in queries via method reference, {@code Year::from}. + * allowing it to be used as a query via method reference, {@code Year::from}. * * @param temporal the temporal object to convert, not null * @return the year, not null @@ -375,7 +375,7 @@ public final class Year /** * Checks if the specified unit is supported. *

                  - * This checks if the specified unit can be added to, or subtracted from, this date-time. + * This checks if the specified unit can be added to, or subtracted from, this year. * If false, then calling the {@link #plus(long, TemporalUnit)} and * {@link #minus(long, TemporalUnit) minus} methods will throw an exception. *

                  @@ -441,7 +441,7 @@ public final class Year /** * Gets the value of the specified field from this year as an {@code int}. *

                  - * This queries this year for the value for the specified field. + * This queries this year for the value of the specified field. * The returned value will always be within the valid range of values for the field. * If it is not possible to return the value, because the field is not supported * or for some other reason, an exception is thrown. @@ -472,7 +472,7 @@ public final class Year /** * Gets the value of the specified field from this year as a {@code long}. *

                  - * This queries this year for the value for the specified field. + * This queries this year for the value of the specified field. * If it is not possible to return the value, because the field is not supported * or for some other reason, an exception is thrown. *

                  @@ -720,13 +720,13 @@ public final class Year } /** - * Returns a copy of this year with the specified number of years added. + * Returns a copy of this {@code Year} with the specified number of years added. *

                  * This instance is immutable and unaffected by this method call. * * @param yearsToAdd the years to add, may be negative - * @return a {@code Year} based on this year with the period added, not null - * @throws DateTimeException if the result exceeds the supported year range + * @return a {@code Year} based on this year with the years added, not null + * @throws DateTimeException if the result exceeds the supported range */ public Year plusYears(long yearsToAdd) { if (yearsToAdd == 0) { @@ -786,13 +786,13 @@ public final class Year } /** - * Returns a copy of this year with the specified number of years subtracted. + * Returns a copy of this {@code Year} with the specified number of years subtracted. *

                  * This instance is immutable and unaffected by this method call. * * @param yearsToSubtract the years to subtract, may be negative - * @return a {@code Year} based on this year with the period subtracted, not null - * @throws DateTimeException if the result exceeds the supported year range + * @return a {@code Year} based on this year with the year subtracted, not null + * @throws DateTimeException if the result exceeds the supported range */ public Year minusYears(long yearsToSubtract) { return (yearsToSubtract == Long.MIN_VALUE ? plusYears(Long.MAX_VALUE).plusYears(1) : plusYears(-yearsToSubtract)); @@ -871,12 +871,12 @@ public final class Year * The result will be negative if the end is before the start. * The {@code Temporal} passed to this method is converted to a * {@code Year} using {@link #from(TemporalAccessor)}. - * For example, the period in decades between two year can be calculated + * For example, the amount in decades between two year can be calculated * using {@code startYear.until(endYear, DECADES)}. *

                  * The calculation returns a whole number, representing the number of * complete units between the two years. - * For example, the period in decades between 2012 and 2031 + * For example, the amount in decades between 2012 and 2031 * will only be one decade as it is one year short of two decades. *

                  * There are two equivalent ways of using this method. @@ -948,7 +948,7 @@ public final class Year *

                  * The day-of-year value 366 is only valid in a leap year. * - * @param dayOfYear the day-of-year to use, not null + * @param dayOfYear the day-of-year to use, from 1 to 365-366 * @return the local date formed from this year and the specified date of year, not null * @throws DateTimeException if the day of year is zero or less, 366 or greater or equal * to 366 and this is not a leap year @@ -1025,7 +1025,7 @@ public final class Year } /** - * Is this year after the specified year. + * Checks if this year is after the specified year. * * @param other the other year to compare to, not null * @return true if this is after the specified year @@ -1035,7 +1035,7 @@ public final class Year } /** - * Is this year before the specified year. + * Checks if this year is before the specified year. * * @param other the other year to compare to, not null * @return true if this point is before the specified year diff --git a/jdk/src/share/classes/java/time/YearMonth.java b/jdk/src/share/classes/java/time/YearMonth.java index 97f66de2903..2fbd95b6ff5 100644 --- a/jdk/src/share/classes/java/time/YearMonth.java +++ b/jdk/src/share/classes/java/time/YearMonth.java @@ -157,9 +157,8 @@ public final class YearMonth /** * Obtains the current year-month from the system clock in the default time-zone. *

                  - * This will query the {@link java.time.Clock#systemDefaultZone() system clock} in the default + * This will query the {@link Clock#systemDefaultZone() system clock} in the default * time-zone to obtain the current year-month. - * The zone and offset will be set based on the time-zone in the clock. *

                  * Using this method will prevent the ability to use an alternate clock for testing * because the clock is hard-coded. @@ -173,7 +172,7 @@ public final class YearMonth /** * Obtains the current year-month from the system clock in the specified time-zone. *

                  - * This will query the {@link Clock#system(java.time.ZoneId) system clock} to obtain the current year-month. + * This will query the {@link Clock#system(ZoneId) system clock} to obtain the current year-month. * Specifying the time-zone avoids dependence on the default time-zone. *

                  * Using this method will prevent the ability to use an alternate clock for testing @@ -243,7 +242,7 @@ public final class YearMonth * chronology, or can be converted to a {@code LocalDate}. *

                  * This method matches the signature of the functional interface {@link TemporalQuery} - * allowing it to be used in queries via method reference, {@code YearMonth::from}. + * allowing it to be used as a query via method reference, {@code YearMonth::from}. * * @param temporal the temporal object to convert, not null * @return the year-month, not null @@ -363,7 +362,7 @@ public final class YearMonth /** * Checks if the specified unit is supported. *

                  - * This checks if the specified unit can be added to, or subtracted from, this date-time. + * This checks if the specified unit can be added to, or subtracted from, this year-month. * If false, then calling the {@link #plus(long, TemporalUnit)} and * {@link #minus(long, TemporalUnit) minus} methods will throw an exception. *

                  @@ -430,7 +429,7 @@ public final class YearMonth /** * Gets the value of the specified field from this year-month as an {@code int}. *

                  - * This queries this year-month for the value for the specified field. + * This queries this year-month for the value of the specified field. * The returned value will always be within the valid range of values for the field. * If it is not possible to return the value, because the field is not supported * or for some other reason, an exception is thrown. @@ -462,7 +461,7 @@ public final class YearMonth /** * Gets the value of the specified field from this year-month as a {@code long}. *

                  - * This queries this year-month for the value for the specified field. + * This queries this year-month for the value of the specified field. * If it is not possible to return the value, because the field is not supported * or for some other reason, an exception is thrown. *

                  @@ -819,7 +818,7 @@ public final class YearMonth } /** - * Returns a copy of this year-month with the specified period in years added. + * Returns a copy of this {@code YearMonth} with the specified number of years added. *

                  * This instance is immutable and unaffected by this method call. * @@ -836,7 +835,7 @@ public final class YearMonth } /** - * Returns a copy of this year-month with the specified period in months added. + * Returns a copy of this {@code YearMonth} with the specified number of months added. *

                  * This instance is immutable and unaffected by this method call. * @@ -906,7 +905,7 @@ public final class YearMonth } /** - * Returns a copy of this year-month with the specified period in years subtracted. + * Returns a copy of this {@code YearMonth} with the specified number of years subtracted. *

                  * This instance is immutable and unaffected by this method call. * @@ -919,7 +918,7 @@ public final class YearMonth } /** - * Returns a copy of this year-month with the specified period in months subtracted. + * Returns a copy of this {@code YearMonth} with the specified number of months subtracted. *

                  * This instance is immutable and unaffected by this method call. * @@ -1004,12 +1003,12 @@ public final class YearMonth * The result will be negative if the end is before the start. * The {@code Temporal} passed to this method is converted to a * {@code YearMonth} using {@link #from(TemporalAccessor)}. - * For example, the period in years between two year-months can be calculated + * For example, the amount in years between two year-months can be calculated * using {@code startYearMonth.until(endYearMonth, YEARS)}. *

                  * The calculation returns a whole number, representing the number of * complete units between the two year-months. - * For example, the period in decades between 2012-06 and 2032-05 + * For example, the amount in decades between 2012-06 and 2032-05 * will only be one decade as it is one month short of two decades. *

                  * There are two equivalent ways of using this method. @@ -1134,7 +1133,7 @@ public final class YearMonth } /** - * Is this year-month after the specified year-month. + * Checks if this year-month is after the specified year-month. * * @param other the other year-month to compare to, not null * @return true if this is after the specified year-month @@ -1144,7 +1143,7 @@ public final class YearMonth } /** - * Is this year-month before the specified year-month. + * Checks if this year-month is before the specified year-month. * * @param other the other year-month to compare to, not null * @return true if this point is before the specified year-month diff --git a/jdk/src/share/classes/java/time/ZoneId.java b/jdk/src/share/classes/java/time/ZoneId.java index 16f8bf210c6..dd282d4a4c4 100644 --- a/jdk/src/share/classes/java/time/ZoneId.java +++ b/jdk/src/share/classes/java/time/ZoneId.java @@ -453,7 +453,7 @@ public abstract class ZoneId implements Serializable { * zones over offset-based zones using {@link TemporalQueries#zone()}. *

                  * This method matches the signature of the functional interface {@link TemporalQuery} - * allowing it to be used in queries via method reference, {@code ZoneId::from}. + * allowing it to be used as a query via method reference, {@code ZoneId::from}. * * @param temporal the temporal object to convert, not null * @return the zone ID, not null diff --git a/jdk/src/share/classes/java/time/ZoneOffset.java b/jdk/src/share/classes/java/time/ZoneOffset.java index 10bd5446e0b..a46b5e02705 100644 --- a/jdk/src/share/classes/java/time/ZoneOffset.java +++ b/jdk/src/share/classes/java/time/ZoneOffset.java @@ -89,7 +89,7 @@ import java.util.concurrent.ConcurrentMap; /** * A time-zone offset from Greenwich/UTC, such as {@code +02:00}. *

                  - * A time-zone offset is the period of time that a time-zone differs from Greenwich/UTC. + * A time-zone offset is the amount of time that a time-zone differs from Greenwich/UTC. * This is usually a fixed number of hours and minutes. *

                  * Different parts of the world have different time-zone offsets. @@ -334,7 +334,7 @@ public final class ZoneOffset * on extracting the {@link ChronoField#OFFSET_SECONDS OFFSET_SECONDS} field. *

                  * This method matches the signature of the functional interface {@link TemporalQuery} - * allowing it to be used in queries via method reference, {@code ZoneOffset::from}. + * allowing it to be used as a query via method reference, {@code ZoneOffset::from}. * * @param temporal the temporal object to convert, not null * @return the zone-offset, not null @@ -564,7 +564,7 @@ public final class ZoneOffset /** * Gets the value of the specified field from this offset as an {@code int}. *

                  - * This queries this offset for the value for the specified field. + * This queries this offset for the value of the specified field. * The returned value will always be within the valid range of values for the field. * If it is not possible to return the value, because the field is not supported * or for some other reason, an exception is thrown. @@ -599,7 +599,7 @@ public final class ZoneOffset /** * Gets the value of the specified field from this offset as a {@code long}. *

                  - * This queries this offset for the value for the specified field. + * This queries this offset for the value of the specified field. * If it is not possible to return the value, because the field is not supported * or for some other reason, an exception is thrown. *

                  diff --git a/jdk/src/share/classes/java/time/ZonedDateTime.java b/jdk/src/share/classes/java/time/ZonedDateTime.java index 752756bb78b..a1e703cd434 100644 --- a/jdk/src/share/classes/java/time/ZonedDateTime.java +++ b/jdk/src/share/classes/java/time/ZonedDateTime.java @@ -418,7 +418,7 @@ public final class ZonedDateTime *

                  * Converting an instant to a zoned date-time is simple as there is only one valid * offset for each instant. If the valid offset is different to the offset specified, - * the the date-time and offset of the zoned date-time will differ from those specified. + * then the date-time and offset of the zoned date-time will differ from those specified. *

                  * If the {@code ZoneId} to be used is a {@code ZoneOffset}, this method is equivalent * to {@link #of(LocalDateTime, ZoneId)}. @@ -469,6 +469,7 @@ public final class ZonedDateTime * @param offset the zone offset, not null * @param zone the time-zone, not null * @return the zoned date-time, not null + * @throws DateTimeException if the combination of arguments is invalid */ public static ZonedDateTime ofStrict(LocalDateTime localDateTime, ZoneOffset offset, ZoneId zone) { Objects.requireNonNull(localDateTime, "localDateTime"); @@ -538,7 +539,7 @@ public final class ZonedDateTime * those fields that are equivalent to the relevant objects. *

                  * This method matches the signature of the functional interface {@link TemporalQuery} - * allowing it to be used in queries via method reference, {@code ZonedDateTime::from}. + * allowing it to be used as a query via method reference, {@code ZonedDateTime::from}. * * @param temporal the temporal object to convert, not null * @return the zoned date-time, not null @@ -782,7 +783,7 @@ public final class ZonedDateTime /** * Gets the value of the specified field from this date-time as an {@code int}. *

                  - * This queries this date-time for the value for the specified field. + * This queries this date-time for the value of the specified field. * The returned value will always be within the valid range of values for the field. * If it is not possible to return the value, because the field is not supported * or for some other reason, an exception is thrown. @@ -791,7 +792,7 @@ public final class ZonedDateTime * The {@link #isSupported(TemporalField) supported fields} will return valid * values based on this date-time, except {@code NANO_OF_DAY}, {@code MICRO_OF_DAY}, * {@code EPOCH_DAY}, {@code PROLEPTIC_MONTH} and {@code INSTANT_SECONDS} which are too - * large to fit in an {@code int} and throw a {@code DateTimeException}. + * large to fit in an {@code int} and throw a {@code UnsupportedTemporalTypeException}. * All other {@code ChronoField} instances will throw an {@code UnsupportedTemporalTypeException}. *

                  * If the field is not a {@code ChronoField}, then the result of this method @@ -824,7 +825,7 @@ public final class ZonedDateTime /** * Gets the value of the specified field from this date-time as a {@code long}. *

                  - * This queries this date-time for the value for the specified field. + * This queries this date-time for the value of the specified field. * If it is not possible to return the value, because the field is not supported * or for some other reason, an exception is thrown. *

                  @@ -1182,7 +1183,8 @@ public final class ZonedDateTime *

                  * A simple adjuster might simply set the one of the fields, such as the year field. * A more complex adjuster might set the date to the last day of the month. - * A selection of common adjustments is provided in {@link TemporalAdjuster}. + * A selection of common adjustments is provided in + * {@link java.time.temporal.TemporalAdjusters TemporalAdjusters}. * These include finding the "last day of the month" and "next Wednesday". * Key date-time classes also implement the {@code TemporalAdjuster} interface, * such as {@link Month} and {@link java.time.MonthDay MonthDay}. @@ -1192,7 +1194,7 @@ public final class ZonedDateTime * For example this code returns a date on the last day of July: *

                        *  import static java.time.Month.*;
                  -     *  import static java.time.temporal.Adjusters.*;
                  +     *  import static java.time.temporal.TemporalAdjusters.*;
                        *
                        *  result = zonedDateTime.with(JULY).with(lastDayOfMonth());
                        * 
                  @@ -1313,7 +1315,7 @@ public final class ZonedDateTime //----------------------------------------------------------------------- /** - * Returns a copy of this {@code ZonedDateTime} with the year value altered. + * Returns a copy of this {@code ZonedDateTime} with the year altered. *

                  * This operates on the local time-line, * {@link LocalDateTime#withYear(int) changing the year} of the local date-time. @@ -1335,7 +1337,7 @@ public final class ZonedDateTime } /** - * Returns a copy of this {@code ZonedDateTime} with the month-of-year value altered. + * Returns a copy of this {@code ZonedDateTime} with the month-of-year altered. *

                  * This operates on the local time-line, * {@link LocalDateTime#withMonth(int) changing the month} of the local date-time. @@ -1357,7 +1359,7 @@ public final class ZonedDateTime } /** - * Returns a copy of this {@code ZonedDateTime} with the day-of-month value altered. + * Returns a copy of this {@code ZonedDateTime} with the day-of-month altered. *

                  * This operates on the local time-line, * {@link LocalDateTime#withDayOfMonth(int) changing the day-of-month} of the local date-time. @@ -1404,7 +1406,7 @@ public final class ZonedDateTime //----------------------------------------------------------------------- /** - * Returns a copy of this {@code ZonedDateTime} with the hour-of-day value altered. + * Returns a copy of this {@code ZonedDateTime} with the hour-of-day altered. *

                  * This operates on the local time-line, * {@linkplain LocalDateTime#withHour(int) changing the time} of the local date-time. @@ -1426,7 +1428,7 @@ public final class ZonedDateTime } /** - * Returns a copy of this {@code ZonedDateTime} with the minute-of-hour value altered. + * Returns a copy of this {@code ZonedDateTime} with the minute-of-hour altered. *

                  * This operates on the local time-line, * {@linkplain LocalDateTime#withMinute(int) changing the time} of the local date-time. @@ -1448,7 +1450,7 @@ public final class ZonedDateTime } /** - * Returns a copy of this {@code ZonedDateTime} with the second-of-minute value altered. + * Returns a copy of this {@code ZonedDateTime} with the second-of-minute altered. *

                  * This operates on the local time-line, * {@linkplain LocalDateTime#withSecond(int) changing the time} of the local date-time. @@ -1470,7 +1472,7 @@ public final class ZonedDateTime } /** - * Returns a copy of this {@code ZonedDateTime} with the nano-of-second value altered. + * Returns a copy of this {@code ZonedDateTime} with the nano-of-second altered. *

                  * This operates on the local time-line, * {@linkplain LocalDateTime#withNano(int) changing the time} of the local date-time. @@ -1506,7 +1508,7 @@ public final class ZonedDateTime * {@link ChronoUnit#DAYS DAYS}. Other units throw an exception. *

                  * This operates on the local time-line, - * {@link LocalDateTime#truncatedTo(java.time.temporal.TemporalUnit) truncating} + * {@link LocalDateTime#truncatedTo(TemporalUnit) truncating} * the underlying local date-time. This is then converted back to a * {@code ZonedDateTime}, using the zone ID to obtain the offset. *

                  @@ -1607,7 +1609,7 @@ public final class ZonedDateTime //----------------------------------------------------------------------- /** - * Returns a copy of this {@code ZonedDateTime} with the specified period in years added. + * Returns a copy of this {@code ZonedDateTime} with the specified number of years added. *

                  * This operates on the local time-line, * {@link LocalDateTime#plusYears(long) adding years} to the local date-time. @@ -1629,7 +1631,7 @@ public final class ZonedDateTime } /** - * Returns a copy of this {@code ZonedDateTime} with the specified period in months added. + * Returns a copy of this {@code ZonedDateTime} with the specified number of months added. *

                  * This operates on the local time-line, * {@link LocalDateTime#plusMonths(long) adding months} to the local date-time. @@ -1651,7 +1653,7 @@ public final class ZonedDateTime } /** - * Returns a copy of this {@code ZonedDateTime} with the specified period in weeks added. + * Returns a copy of this {@code ZonedDateTime} with the specified number of weeks added. *

                  * This operates on the local time-line, * {@link LocalDateTime#plusWeeks(long) adding weeks} to the local date-time. @@ -1673,7 +1675,7 @@ public final class ZonedDateTime } /** - * Returns a copy of this {@code ZonedDateTime} with the specified period in days added. + * Returns a copy of this {@code ZonedDateTime} with the specified number of days added. *

                  * This operates on the local time-line, * {@link LocalDateTime#plusDays(long) adding days} to the local date-time. @@ -1696,7 +1698,7 @@ public final class ZonedDateTime //----------------------------------------------------------------------- /** - * Returns a copy of this {@code ZonedDateTime} with the specified period in hours added. + * Returns a copy of this {@code ZonedDateTime} with the specified number of hours added. *

                  * This operates on the instant time-line, such that adding one hour will * always be a duration of one hour later. @@ -1724,7 +1726,7 @@ public final class ZonedDateTime } /** - * Returns a copy of this {@code ZonedDateTime} with the specified period in minutes added. + * Returns a copy of this {@code ZonedDateTime} with the specified number of minutes added. *

                  * This operates on the instant time-line, such that adding one minute will * always be a duration of one minute later. @@ -1742,7 +1744,7 @@ public final class ZonedDateTime } /** - * Returns a copy of this {@code ZonedDateTime} with the specified period in seconds added. + * Returns a copy of this {@code ZonedDateTime} with the specified number of seconds added. *

                  * This operates on the instant time-line, such that adding one second will * always be a duration of one second later. @@ -1760,7 +1762,7 @@ public final class ZonedDateTime } /** - * Returns a copy of this {@code ZonedDateTime} with the specified period in nanoseconds added. + * Returns a copy of this {@code ZonedDateTime} with the specified number of nanoseconds added. *

                  * This operates on the instant time-line, such that adding one nano will * always be a duration of one nano later. @@ -1848,7 +1850,7 @@ public final class ZonedDateTime //----------------------------------------------------------------------- /** - * Returns a copy of this {@code ZonedDateTime} with the specified period in years subtracted. + * Returns a copy of this {@code ZonedDateTime} with the specified number of years subtracted. *

                  * This operates on the local time-line, * {@link LocalDateTime#minusYears(long) subtracting years} to the local date-time. @@ -1870,7 +1872,7 @@ public final class ZonedDateTime } /** - * Returns a copy of this {@code ZonedDateTime} with the specified period in months subtracted. + * Returns a copy of this {@code ZonedDateTime} with the specified number of months subtracted. *

                  * This operates on the local time-line, * {@link LocalDateTime#minusMonths(long) subtracting months} to the local date-time. @@ -1892,7 +1894,7 @@ public final class ZonedDateTime } /** - * Returns a copy of this {@code ZonedDateTime} with the specified period in weeks subtracted. + * Returns a copy of this {@code ZonedDateTime} with the specified number of weeks subtracted. *

                  * This operates on the local time-line, * {@link LocalDateTime#minusWeeks(long) subtracting weeks} to the local date-time. @@ -1914,7 +1916,7 @@ public final class ZonedDateTime } /** - * Returns a copy of this {@code ZonedDateTime} with the specified period in days subtracted. + * Returns a copy of this {@code ZonedDateTime} with the specified number of days subtracted. *

                  * This operates on the local time-line, * {@link LocalDateTime#minusDays(long) subtracting days} to the local date-time. @@ -1937,7 +1939,7 @@ public final class ZonedDateTime //----------------------------------------------------------------------- /** - * Returns a copy of this {@code ZonedDateTime} with the specified period in hours subtracted. + * Returns a copy of this {@code ZonedDateTime} with the specified number of hours subtracted. *

                  * This operates on the instant time-line, such that subtracting one hour will * always be a duration of one hour earlier. @@ -1965,7 +1967,7 @@ public final class ZonedDateTime } /** - * Returns a copy of this {@code ZonedDateTime} with the specified period in minutes subtracted. + * Returns a copy of this {@code ZonedDateTime} with the specified number of minutes subtracted. *

                  * This operates on the instant time-line, such that subtracting one minute will * always be a duration of one minute earlier. @@ -1983,7 +1985,7 @@ public final class ZonedDateTime } /** - * Returns a copy of this {@code ZonedDateTime} with the specified period in seconds subtracted. + * Returns a copy of this {@code ZonedDateTime} with the specified number of seconds subtracted. *

                  * This operates on the instant time-line, such that subtracting one second will * always be a duration of one second earlier. @@ -2001,7 +2003,7 @@ public final class ZonedDateTime } /** - * Returns a copy of this {@code ZonedDateTime} with the specified period in nanoseconds subtracted. + * Returns a copy of this {@code ZonedDateTime} with the specified number of nanoseconds subtracted. *

                  * This operates on the instant time-line, such that subtracting one nano will * always be a duration of one nano earlier. @@ -2028,7 +2030,7 @@ public final class ZonedDateTime * what the result of this method will be. *

                  * The result of this method is obtained by invoking the - * {@link java.time.temporal.TemporalQuery#queryFrom(TemporalAccessor)} method on the + * {@link TemporalQuery#queryFrom(TemporalAccessor)} method on the * specified query passing {@code this} as the argument. * * @param the type of the result @@ -2049,7 +2051,7 @@ public final class ZonedDateTime * objects in terms of a single {@code TemporalUnit}. * The start and end points are {@code this} and the specified date-time. * The result will be negative if the end is before the start. - * For example, the period in days between two date-times can be calculated + * For example, the amount in days between two date-times can be calculated * using {@code startDateTime.until(endDateTime, DAYS)}. *

                  * The {@code Temporal} passed to this method is converted to a @@ -2059,7 +2061,7 @@ public final class ZonedDateTime *

                  * The calculation returns a whole number, representing the number of * complete units between the two date-times. - * For example, the period in months between 2012-06-15T00:00Z and 2012-08-14T23:59Z + * For example, the amount in months between 2012-06-15T00:00Z and 2012-08-14T23:59Z * will only be one month as it is one minute short of two months. *

                  * There are two equivalent ways of using this method. diff --git a/jdk/src/share/classes/java/time/chrono/ChronoLocalDate.java b/jdk/src/share/classes/java/time/chrono/ChronoLocalDate.java index 6fe6a4578a9..8a89bdb3b54 100644 --- a/jdk/src/share/classes/java/time/chrono/ChronoLocalDate.java +++ b/jdk/src/share/classes/java/time/chrono/ChronoLocalDate.java @@ -249,8 +249,8 @@ public interface ChronoLocalDate * This allows dates in different calendar systems to be compared based * on the position of the date on the local time-line. * The underlying comparison is equivalent to comparing the epoch-day. - * @return a comparator that compares in time-line order ignoring the chronology * + * @return a comparator that compares in time-line order ignoring the chronology * @see #isAfter * @see #isBefore * @see #isEqual diff --git a/jdk/src/share/classes/java/time/chrono/ChronoLocalDateImpl.java b/jdk/src/share/classes/java/time/chrono/ChronoLocalDateImpl.java index 6cb115d393e..26513379b43 100644 --- a/jdk/src/share/classes/java/time/chrono/ChronoLocalDateImpl.java +++ b/jdk/src/share/classes/java/time/chrono/ChronoLocalDateImpl.java @@ -227,7 +227,7 @@ abstract class ChronoLocalDateImpl //----------------------------------------------------------------------- /** - * Returns a copy of this date with the specified period in years added. + * Returns a copy of this date with the specified number of years added. *

                  * This adds the specified period in years to the date. * In some cases, adding years can cause the resulting date to become invalid. @@ -243,7 +243,7 @@ abstract class ChronoLocalDateImpl abstract D plusYears(long yearsToAdd); /** - * Returns a copy of this date with the specified period in months added. + * Returns a copy of this date with the specified number of months added. *

                  * This adds the specified period in months to the date. * In some cases, adding months can cause the resulting date to become invalid. @@ -259,7 +259,7 @@ abstract class ChronoLocalDateImpl abstract D plusMonths(long monthsToAdd); /** - * Returns a copy of this date with the specified period in weeks added. + * Returns a copy of this date with the specified number of weeks added. *

                  * This adds the specified period in weeks to the date. * In some cases, adding weeks can cause the resulting date to become invalid. @@ -292,7 +292,7 @@ abstract class ChronoLocalDateImpl //----------------------------------------------------------------------- /** - * Returns a copy of this date with the specified period in years subtracted. + * Returns a copy of this date with the specified number of years subtracted. *

                  * This subtracts the specified period in years to the date. * In some cases, subtracting years can cause the resulting date to become invalid. @@ -313,7 +313,7 @@ abstract class ChronoLocalDateImpl } /** - * Returns a copy of this date with the specified period in months subtracted. + * Returns a copy of this date with the specified number of months subtracted. *

                  * This subtracts the specified period in months to the date. * In some cases, subtracting months can cause the resulting date to become invalid. @@ -334,7 +334,7 @@ abstract class ChronoLocalDateImpl } /** - * Returns a copy of this date with the specified period in weeks subtracted. + * Returns a copy of this date with the specified number of weeks subtracted. *

                  * This subtracts the specified period in weeks to the date. * In some cases, subtracting weeks can cause the resulting date to become invalid. diff --git a/jdk/src/share/classes/java/time/chrono/ChronoLocalDateTime.java b/jdk/src/share/classes/java/time/chrono/ChronoLocalDateTime.java index 0607932084f..b211a52ff84 100644 --- a/jdk/src/share/classes/java/time/chrono/ChronoLocalDateTime.java +++ b/jdk/src/share/classes/java/time/chrono/ChronoLocalDateTime.java @@ -131,7 +131,6 @@ public interface ChronoLocalDateTime * The underlying comparison is equivalent to comparing the epoch-day and nano-of-day. * * @return a comparator that compares in time-line order ignoring the chronology - * * @see #isAfter * @see #isBefore * @see #isEqual @@ -323,7 +322,7 @@ public interface ChronoLocalDateTime * what the result of this method will be. *

                  * The result of this method is obtained by invoking the - * {@link java.time.temporal.TemporalQuery#queryFrom(TemporalAccessor)} method on the + * {@link TemporalQuery#queryFrom(TemporalAccessor)} method on the * specified query passing {@code this} as the argument. * * @param the type of the result diff --git a/jdk/src/share/classes/java/time/chrono/ChronoZonedDateTime.java b/jdk/src/share/classes/java/time/chrono/ChronoZonedDateTime.java index e98f422bb3a..8227c482831 100644 --- a/jdk/src/share/classes/java/time/chrono/ChronoZonedDateTime.java +++ b/jdk/src/share/classes/java/time/chrono/ChronoZonedDateTime.java @@ -132,7 +132,6 @@ public interface ChronoZonedDateTime * The underlying comparison is equivalent to comparing the epoch-second and nano-of-second. * * @return a comparator that compares in time-line order ignoring the chronology - * * @see #isAfter * @see #isBefore * @see #isEqual @@ -292,7 +291,7 @@ public interface ChronoZonedDateTime *

                  * This instance is immutable and unaffected by this method call. * - * @return a {@code ZoneChronoDateTime} based on this date-time with the earlier offset, not null + * @return a {@code ChronoZonedDateTime} based on this date-time with the earlier offset, not null * @throws DateTimeException if no rules can be found for the zone * @throws DateTimeException if no rules are valid for this date-time */ @@ -319,7 +318,7 @@ public interface ChronoZonedDateTime ChronoZonedDateTime withLaterOffsetAtOverlap(); /** - * Returns a copy of this ZonedDateTime with a different time-zone, + * Returns a copy of this date-time with a different time-zone, * retaining the local date-time if possible. *

                  * This method changes the time-zone and retains the local date-time. @@ -470,7 +469,7 @@ public interface ChronoZonedDateTime * what the result of this method will be. *

                  * The result of this method is obtained by invoking the - * {@link java.time.temporal.TemporalQuery#queryFrom(TemporalAccessor)} method on the + * {@link TemporalQuery#queryFrom(TemporalAccessor)} method on the * specified query passing {@code this} as the argument. * * @param the type of the result diff --git a/jdk/src/share/classes/java/time/chrono/Chronology.java b/jdk/src/share/classes/java/time/chrono/Chronology.java index 7c17da1ea5b..7088af36f3c 100644 --- a/jdk/src/share/classes/java/time/chrono/Chronology.java +++ b/jdk/src/share/classes/java/time/chrono/Chronology.java @@ -132,8 +132,9 @@ import java.util.Set; * The set of available chronologies can be extended by applications. * Adding a new calendar system requires the writing of an implementation of * {@code Chronology}, {@code ChronoLocalDate} and {@code Era}. - * The majority of the logic specific to the calendar system will be in - * {@code ChronoLocalDate}. The {@code Chronology} subclass acts as a factory. + * The majority of the logic specific to the calendar system will be in the + * {@code ChronoLocalDate} implementation. + * The {@code Chronology} implementation acts as a factory. *

                  * To permit the discovery of additional chronologies, the {@link java.util.ServiceLoader ServiceLoader} * is used. A file must be added to the {@code META-INF/services} directory with the @@ -167,7 +168,7 @@ public interface Chronology extends Comparable { * If the specified temporal object does not have a chronology, {@link IsoChronology} is returned. *

                  * This method matches the signature of the functional interface {@link TemporalQuery} - * allowing it to be used in queries via method reference, {@code Chronology::from}. + * allowing it to be used as a query via method reference, {@code Chronology::from}. * * @param temporal the temporal to convert, not null * @return the chronology, not null @@ -413,7 +414,7 @@ public interface Chronology extends Comparable { * The alternate clock may be introduced using {@link Clock dependency injection}. * * @implSpec - * The default implementation invokes {@link #date(TemporalAccessor)} )}. + * The default implementation invokes {@link #date(TemporalAccessor)}. * * @param clock the clock to use, not null * @return the current local date, not null @@ -622,7 +623,7 @@ public interface Chronology extends Comparable { * The parameters control the style of the returned text and the locale. * * @implSpec - * The default implementation behaves as the the formatter was used to + * The default implementation behaves as though the formatter was used to * format the chronology textual name. * * @param style the style of the text required, not null diff --git a/jdk/src/share/classes/java/time/chrono/Era.java b/jdk/src/share/classes/java/time/chrono/Era.java index ec65e3f7531..f8945fa0aec 100644 --- a/jdk/src/share/classes/java/time/chrono/Era.java +++ b/jdk/src/share/classes/java/time/chrono/Era.java @@ -182,7 +182,7 @@ public interface Era extends TemporalAccessor, TemporalAdjuster { /** * Gets the value of the specified field from this era as an {@code int}. *

                  - * This queries this era for the value for the specified field. + * This queries this era for the value of the specified field. * The returned value will always be within the valid range of values for the field. * If it is not possible to return the value, because the field is not supported * or for some other reason, an exception is thrown. @@ -215,7 +215,7 @@ public interface Era extends TemporalAccessor, TemporalAdjuster { /** * Gets the value of the specified field from this era as a {@code long}. *

                  - * This queries this era for the value for the specified field. + * This queries this era for the value of the specified field. * If it is not possible to return the value, because the field is not supported * or for some other reason, an exception is thrown. *

                  diff --git a/jdk/src/share/classes/java/time/chrono/HijrahChronology.java b/jdk/src/share/classes/java/time/chrono/HijrahChronology.java index 3be442cecb7..7c5005fbe9a 100644 --- a/jdk/src/share/classes/java/time/chrono/HijrahChronology.java +++ b/jdk/src/share/classes/java/time/chrono/HijrahChronology.java @@ -394,7 +394,7 @@ public final class HijrahChronology extends AbstractChronology implements Serial * Gets the ID of the chronology. *

                  * The ID uniquely identifies the {@code Chronology}. It can be used to - * lookup the {@code Chronology} using {@link #of(String)}. + * lookup the {@code Chronology} using {@link Chronology#of(String)}. * * @return the chronology ID, non-null * @see #getCalendarType() @@ -409,7 +409,7 @@ public final class HijrahChronology extends AbstractChronology implements Serial *

                  * The calendar type is an identifier defined by the * Unicode Locale Data Markup Language (LDML) specification. - * It can be used to lookup the {@code Chronology} using {@link #of(String)}. + * It can be used to lookup the {@code Chronology} using {@link Chronology#of(String)}. * * @return the calendar system type; non-null if the calendar has * a standard type, otherwise null diff --git a/jdk/src/share/classes/java/time/chrono/IsoChronology.java b/jdk/src/share/classes/java/time/chrono/IsoChronology.java index f84c1c87671..65ba755360c 100644 --- a/jdk/src/share/classes/java/time/chrono/IsoChronology.java +++ b/jdk/src/share/classes/java/time/chrono/IsoChronology.java @@ -143,7 +143,7 @@ public final class IsoChronology extends AbstractChronology implements Serializa * Gets the ID of the chronology - 'ISO'. *

                  * The ID uniquely identifies the {@code Chronology}. - * It can be used to lookup the {@code Chronology} using {@link #of(String)}. + * It can be used to lookup the {@code Chronology} using {@link Chronology#of(String)}. * * @return the chronology ID - 'ISO' * @see #getCalendarType() @@ -158,7 +158,7 @@ public final class IsoChronology extends AbstractChronology implements Serializa *

                  * The calendar type is an identifier defined by the * Unicode Locale Data Markup Language (LDML) specification. - * It can be used to lookup the {@code Chronology} using {@link #of(String)}. + * It can be used to lookup the {@code Chronology} using {@link Chronology#of(String)}. * It can also be used as part of a locale, accessible via * {@link Locale#getUnicodeLocaleType(String)} with the key 'ca'. * diff --git a/jdk/src/share/classes/java/time/chrono/JapaneseChronology.java b/jdk/src/share/classes/java/time/chrono/JapaneseChronology.java index 7845088eb7e..2bd38c8d755 100644 --- a/jdk/src/share/classes/java/time/chrono/JapaneseChronology.java +++ b/jdk/src/share/classes/java/time/chrono/JapaneseChronology.java @@ -150,7 +150,7 @@ public final class JapaneseChronology extends AbstractChronology implements Seri * Gets the ID of the chronology - 'Japanese'. *

                  * The ID uniquely identifies the {@code Chronology}. - * It can be used to lookup the {@code Chronology} using {@link #of(String)}. + * It can be used to lookup the {@code Chronology} using {@link Chronology#of(String)}. * * @return the chronology ID - 'Japanese' * @see #getCalendarType() @@ -165,7 +165,7 @@ public final class JapaneseChronology extends AbstractChronology implements Seri *

                  * The calendar type is an identifier defined by the * Unicode Locale Data Markup Language (LDML) specification. - * It can be used to lookup the {@code Chronology} using {@link #of(String)}. + * It can be used to lookup the {@code Chronology} using {@link Chronology#of(String)}. * It can also be used as part of a locale, accessible via * {@link Locale#getUnicodeLocaleType(String)} with the key 'ca'. * diff --git a/jdk/src/share/classes/java/time/chrono/MinguoChronology.java b/jdk/src/share/classes/java/time/chrono/MinguoChronology.java index 1fda0e415d4..8159adc0ac5 100644 --- a/jdk/src/share/classes/java/time/chrono/MinguoChronology.java +++ b/jdk/src/share/classes/java/time/chrono/MinguoChronology.java @@ -132,7 +132,7 @@ public final class MinguoChronology extends AbstractChronology implements Serial * Gets the ID of the chronology - 'Minguo'. *

                  * The ID uniquely identifies the {@code Chronology}. - * It can be used to lookup the {@code Chronology} using {@link #of(String)}. + * It can be used to lookup the {@code Chronology} using {@link Chronology#of(String)}. * * @return the chronology ID - 'Minguo' * @see #getCalendarType() @@ -147,7 +147,7 @@ public final class MinguoChronology extends AbstractChronology implements Serial *

                  * The calendar type is an identifier defined by the * Unicode Locale Data Markup Language (LDML) specification. - * It can be used to lookup the {@code Chronology} using {@link #of(String)}. + * It can be used to lookup the {@code Chronology} using {@link Chronology#of(String)}. * It can also be used as part of a locale, accessible via * {@link Locale#getUnicodeLocaleType(String)} with the key 'ca'. * diff --git a/jdk/src/share/classes/java/time/chrono/ThaiBuddhistChronology.java b/jdk/src/share/classes/java/time/chrono/ThaiBuddhistChronology.java index 87bc10047ec..6412c9dab15 100644 --- a/jdk/src/share/classes/java/time/chrono/ThaiBuddhistChronology.java +++ b/jdk/src/share/classes/java/time/chrono/ThaiBuddhistChronology.java @@ -168,7 +168,7 @@ public final class ThaiBuddhistChronology extends AbstractChronology implements * Gets the ID of the chronology - 'ThaiBuddhist'. *

                  * The ID uniquely identifies the {@code Chronology}. - * It can be used to lookup the {@code Chronology} using {@link #of(String)}. + * It can be used to lookup the {@code Chronology} using {@link Chronology#of(String)}. * * @return the chronology ID - 'ThaiBuddhist' * @see #getCalendarType() @@ -183,7 +183,7 @@ public final class ThaiBuddhistChronology extends AbstractChronology implements *

                  * The calendar type is an identifier defined by the * Unicode Locale Data Markup Language (LDML) specification. - * It can be used to lookup the {@code Chronology} using {@link #of(String)}. + * It can be used to lookup the {@code Chronology} using {@link Chronology#of(String)}. * It can also be used as part of a locale, accessible via * {@link Locale#getUnicodeLocaleType(String)} with the key 'ca'. * diff --git a/jdk/src/share/classes/java/time/format/DateTimeFormatter.java b/jdk/src/share/classes/java/time/format/DateTimeFormatter.java index 3e1a2bdd2c9..661d81de0e1 100644 --- a/jdk/src/share/classes/java/time/format/DateTimeFormatter.java +++ b/jdk/src/share/classes/java/time/format/DateTimeFormatter.java @@ -117,7 +117,7 @@ import java.util.Set; * {@code parse(CharSequence text, DateTimeFormatter formatter)}. *

                  For example: *

                  - *  String text = date.toString(formatter);
                  + *  String text = date.format(formatter);
                    *  LocalDate date = LocalDate.parse(text, formatter);
                    * 
                  *

                  @@ -266,7 +266,7 @@ import java.util.Set; * For example: *

                    *  DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy MM dd");
                  - *  String text = date.toString(formatter);
                  + *  String text = date.format(formatter);
                    *  LocalDate date = LocalDate.parse(text, formatter);
                    * 
                  *

                  @@ -1976,7 +1976,7 @@ public final class DateTimeFormatter { * Errors are returned using the error index field of the {@code ParsePosition} * instead of {@code DateTimeParseException}. * The returned error index will be set to an index indicative of the error. - * Callers must check for errors before using the context. + * Callers must check for errors before using the result. *

                  * If the formatter parses the same field more than once with different values, * the result will be an error. diff --git a/jdk/src/share/classes/java/time/format/DateTimeFormatterBuilder.java b/jdk/src/share/classes/java/time/format/DateTimeFormatterBuilder.java index 0a167e45c26..f77339670d8 100644 --- a/jdk/src/share/classes/java/time/format/DateTimeFormatterBuilder.java +++ b/jdk/src/share/classes/java/time/format/DateTimeFormatterBuilder.java @@ -137,7 +137,6 @@ import sun.util.locale.provider.TimeZoneNameUtility; *

                1. ChronologyText - the name of the chronology
                2. *
                3. Literal - a text literal
                4. *
                5. Nested and Optional - formats can be nested or made optional
                6. - *
                7. Other - the printer and parser interfaces can be used to add user supplied formatting
                8. * * In addition, any of the elements may be decorated by padding, either with spaces or any other character. *

                  @@ -194,8 +193,8 @@ public final class DateTimeFormatterBuilder { * The locale and chronology are used to lookup the locale specific format * for the requested dateStyle and/or timeStyle. * - * @param dateStyle the FormatStyle for the date - * @param timeStyle the FormatStyle for the time + * @param dateStyle the FormatStyle for the date, null for time-only pattern + * @param timeStyle the FormatStyle for the time, null for date-only pattern * @param chrono the Chronology, non-null * @param locale the locale, non-null * @return the locale and Chronology specific formatting pattern @@ -747,9 +746,9 @@ public final class DateTimeFormatterBuilder { * defines the connection between each value and the text: *

                        * Map<Long, String> map = new HashMap<>();
                  -     * map.put(1, "JNY");
                  -     * map.put(2, "FBY");
                  -     * map.put(3, "MCH");
                  +     * map.put(1L, "JNY");
                  +     * map.put(2L, "FBY");
                  +     * map.put(3L, "MCH");
                        * ...
                        * builder.appendText(MONTH_OF_YEAR, map);
                        * 
                  @@ -841,7 +840,7 @@ public final class DateTimeFormatterBuilder { *

                  * The {@linkplain ResolverStyle resolver style} has no effect on instant parsing. * The end-of-day time of '24:00' is handled as midnight at the start of the following day. - * The leap-second time of '23:59:59' is handled to some degree, see + * The leap-second time of '23:59:60' is handled to some degree, see * {@link DateTimeFormatter#parsedLeapSecond()} for full details. *

                  * An alternative to this method is to format/parse the instant as a single @@ -864,7 +863,7 @@ public final class DateTimeFormatterBuilder { * Appends the zone offset, such as '+01:00', to the formatter. *

                  * This appends an instruction to format/parse the offset ID to the builder. - * This is equivalent to calling {@code appendOffset("HH:MM:ss", "Z")}. + * This is equivalent to calling {@code appendOffset("+HH:MM:ss", "Z")}. * * @return this, for chaining, not null */ @@ -1049,7 +1048,7 @@ public final class DateTimeFormatterBuilder { * "GMT+01:30" -- ZoneOffset.of("+01:30") * *

                  - * Note that this method is is identical to {@code appendZoneId()} except + * Note that this method is identical to {@code appendZoneId()} except * in the mechanism used to obtain the zone. * Note also that parsing accepts offsets, whereas formatting will never * produce one. @@ -1107,7 +1106,7 @@ public final class DateTimeFormatterBuilder { * "GMT+01:30" -- ZoneOffset.of("GMT+01:30") * *

                  - * Note that this method is is identical to {@code appendZoneId()} except + * Note that this method is identical to {@code appendZoneId()} except * in the mechanism used to obtain the zone. * * @return this, for chaining, not null @@ -1132,7 +1131,7 @@ public final class DateTimeFormatterBuilder { * for the locale set in the {@link DateTimeFormatter}. * If the temporal object being printed represents an instant, then the text * will be the summer or winter time text as appropriate. - * If the lookup for text does not find any suitable reuslt, then the + * If the lookup for text does not find any suitable result, then the * {@link ZoneId#getId() ID} will be printed instead. * If the zone cannot be obtained then an exception is thrown unless the * section of the formatter is optional. @@ -1168,7 +1167,7 @@ public final class DateTimeFormatterBuilder { * for the locale set in the {@link DateTimeFormatter}. * If the temporal object being printed represents an instant, then the text * will be the summer or winter time text as appropriate. - * If the lookup for text does not find any suitable reuslt, then the + * If the lookup for text does not find any suitable result, then the * {@link ZoneId#getId() ID} will be printed instead. * If the zone cannot be obtained then an exception is thrown unless the * section of the formatter is optional. @@ -1182,7 +1181,7 @@ public final class DateTimeFormatterBuilder { * zone. This method also allows a set of preferred {@link ZoneId} to be * specified for parsing. The matched preferred zone id will be used if the * textural zone name being parsed is not unique. - * + *

                  * If the zone cannot be parsed then an exception is thrown unless the * section of the formatter is optional. * @@ -1227,7 +1226,6 @@ public final class DateTimeFormatterBuilder { *

                  * The calendar system name will be output during a format. * If the chronology cannot be obtained then an exception will be thrown. - * The calendar system name is obtained from the Chronology. * * @param textStyle the text style to use, not null * @return this, for chaining, not null @@ -1453,7 +1451,7 @@ public final class DateTimeFormatterBuilder { * LLLLL 5 appendText(ChronoField.MONTH_OF_YEAR, TextStyle.NARROW_STANDALONE) * * w 1 append special localized WeekFields element for numeric week-of-year - * ww 1 append special localized WeekFields element for numeric week-of-year, zero-padded + * ww 2 append special localized WeekFields element for numeric week-of-year, zero-padded * W 1 append special localized WeekFields element for numeric week-of-month * d 1 appendValue(ChronoField.DAY_OF_MONTH) * dd 2 appendValue(ChronoField.DAY_OF_MONTH, 2) @@ -1880,7 +1878,6 @@ public final class DateTimeFormatterBuilder { *

                  * During parsing, the padding and decorated element are parsed. * If parsing is lenient, then the pad width is treated as a maximum. - * If parsing is case insensitive, then the pad character is matched ignoring case. * The padding is parsed greedily. Thus, if the decorated element starts with * the pad character, it will not be parsed. * diff --git a/jdk/src/share/classes/java/time/format/DecimalStyle.java b/jdk/src/share/classes/java/time/format/DecimalStyle.java index 8143037feff..197e47d96b8 100644 --- a/jdk/src/share/classes/java/time/format/DecimalStyle.java +++ b/jdk/src/share/classes/java/time/format/DecimalStyle.java @@ -62,7 +62,6 @@ package java.time.format; import java.text.DecimalFormatSymbols; -import java.util.Arrays; import java.util.Collections; import java.util.HashSet; import java.util.Locale; @@ -138,7 +137,7 @@ public final class DecimalStyle { * of(Locale.getDefault(Locale.Category.FORMAT))}. * * @see java.util.Locale.Category#FORMAT - * @return the info, not null + * @return the decimal style, not null */ public static DecimalStyle ofDefaultLocale() { return of(Locale.getDefault(Locale.Category.FORMAT)); @@ -150,7 +149,7 @@ public final class DecimalStyle { * This method provides access to locale sensitive decimal style symbols. * * @param locale the locale, not null - * @return the info, not null + * @return the decimal style, not null */ public static DecimalStyle of(Locale locale) { Objects.requireNonNull(locale, "locale"); @@ -340,7 +339,7 @@ public final class DecimalStyle { //----------------------------------------------------------------------- /** - * Checks if this DecimalStyle is equal another DecimalStyle. + * Checks if this DecimalStyle is equal to another DecimalStyle. * * @param obj the object to check, null returns false * @return true if this is equal to the other date diff --git a/jdk/src/share/classes/java/time/temporal/IsoFields.java b/jdk/src/share/classes/java/time/temporal/IsoFields.java index 70c3ffb39b7..76528c4e7dd 100644 --- a/jdk/src/share/classes/java/time/temporal/IsoFields.java +++ b/jdk/src/share/classes/java/time/temporal/IsoFields.java @@ -638,7 +638,7 @@ public final class IsoFields { //----------------------------------------------------------------------- /** - * Implementation of the period unit. + * Implementation of the unit. */ private static enum Unit implements TemporalUnit { diff --git a/jdk/src/share/classes/java/time/temporal/Temporal.java b/jdk/src/share/classes/java/time/temporal/Temporal.java index 937a37e704f..75ce67dd35f 100644 --- a/jdk/src/share/classes/java/time/temporal/Temporal.java +++ b/jdk/src/share/classes/java/time/temporal/Temporal.java @@ -157,7 +157,8 @@ public interface Temporal extends TemporalAccessor { * This adjusts this date-time according to the rules of the specified adjuster. * A simple adjuster might simply set the one of the fields, such as the year field. * A more complex adjuster might set the date to the last day of the month. - * A selection of common adjustments is provided in {@link TemporalAdjuster}. + * A selection of common adjustments is provided in + * {@link java.time.temporal.TemporalAdjusters TemporalAdjusters}. * These include finding the "last day of the month" and "next Wednesday". * The adjuster is responsible for handling special cases, such as the varying * lengths of month and leap years. @@ -287,7 +288,7 @@ public interface Temporal extends TemporalAccessor { * This provides equivalent, safe behavior for immutable and mutable implementations. * * @param amountToAdd the amount of the specified unit to add, may be negative - * @param unit the unit of the period to add, not null + * @param unit the unit of the amount to add, not null * @return an object of the same type with the specified period added, not null * @throws DateTimeException if the unit cannot be added * @throws UnsupportedTemporalTypeException if the unit is not supported @@ -359,7 +360,7 @@ public interface Temporal extends TemporalAccessor { * * * @param amountToSubtract the amount of the specified unit to subtract, may be negative - * @param unit the unit of the period to subtract, not null + * @param unit the unit of the amount to subtract, not null * @return an object of the same type with the specified period subtracted, not null * @throws DateTimeException if the unit cannot be subtracted * @throws UnsupportedTemporalTypeException if the unit is not supported @@ -378,12 +379,12 @@ public interface Temporal extends TemporalAccessor { * The start and end points are {@code this} and the specified temporal. * The end point is converted to be of the same type as the start point if different. * The result will be negative if the end is before the start. - * For example, the period in hours between two temporal objects can be + * For example, the amount in hours between two temporal objects can be * calculated using {@code startTime.until(endTime, HOURS)}. *

                  * The calculation returns a whole number, representing the number of * complete units between the two temporals. - * For example, the period in hours between the times 11:30 and 13:29 + * For example, the amount in hours between the times 11:30 and 13:29 * will only be one hour as it is one minute short of two hours. *

                  * There are two equivalent ways of using this method. diff --git a/jdk/src/share/classes/java/time/temporal/TemporalAccessor.java b/jdk/src/share/classes/java/time/temporal/TemporalAccessor.java index a6133e18837..347e69d2bb2 100644 --- a/jdk/src/share/classes/java/time/temporal/TemporalAccessor.java +++ b/jdk/src/share/classes/java/time/temporal/TemporalAccessor.java @@ -180,7 +180,7 @@ public interface TemporalAccessor { /** * Gets the value of the specified field as an {@code int}. *

                  - * This queries the date-time for the value for the specified field. + * This queries the date-time for the value of the specified field. * The returned value will always be within the valid range of values for the field. * If the date-time cannot return the value, because the field is unsupported or for * some other reason, an exception will be thrown. @@ -229,7 +229,7 @@ public interface TemporalAccessor { /** * Gets the value of the specified field as a {@code long}. *

                  - * This queries the date-time for the value for the specified field. + * This queries the date-time for the value of the specified field. * The returned value may be outside the valid range of values for the field. * If the date-time cannot return the value, because the field is unsupported or for * some other reason, an exception will be thrown. diff --git a/jdk/src/share/classes/java/time/temporal/TemporalField.java b/jdk/src/share/classes/java/time/temporal/TemporalField.java index 51903ede30f..a93caa64351 100644 --- a/jdk/src/share/classes/java/time/temporal/TemporalField.java +++ b/jdk/src/share/classes/java/time/temporal/TemporalField.java @@ -116,7 +116,7 @@ public interface TemporalField { * For example, in the field 'MonthOfYear', the unit is 'Months'. * See also {@link #getRangeUnit()}. * - * @return the period unit defining the base unit of the field, not null + * @return the unit defining the base unit of the field, not null */ TemporalUnit getBaseUnit(); @@ -130,7 +130,7 @@ public interface TemporalField { * The range is never null. For example, the 'Year' field is shorthand for * 'YearOfForever'. It therefore has a unit of 'Years' and a range of 'Forever'. * - * @return the period unit defining the range of the field, not null + * @return the unit defining the range of the field, not null */ TemporalUnit getRangeUnit(); @@ -179,7 +179,7 @@ public interface TemporalField { * Checks if this field is supported by the temporal object. *

                  * This determines whether the temporal accessor supports this field. - * If this returns false, the the temporal cannot be queried for this field. + * If this returns false, then the temporal cannot be queried for this field. *

                  * There are two equivalent ways of using this method. * The first is to invoke this method directly. diff --git a/jdk/src/share/classes/java/time/temporal/TemporalUnit.java b/jdk/src/share/classes/java/time/temporal/TemporalUnit.java index 1c41afa0593..1904bd2642d 100644 --- a/jdk/src/share/classes/java/time/temporal/TemporalUnit.java +++ b/jdk/src/share/classes/java/time/temporal/TemporalUnit.java @@ -221,7 +221,7 @@ public interface TemporalUnit { * @param temporal the temporal object to adjust, not null * @param amount the amount of this unit to add, positive or negative * @return the adjusted temporal object, not null - * @throws DateTimeException if the period cannot be added + * @throws DateTimeException if the amount cannot be added * @throws UnsupportedTemporalTypeException if the unit is not supported by the temporal */ R addTo(R temporal, long amount); diff --git a/jdk/src/share/classes/java/time/zone/ZoneOffsetTransition.java b/jdk/src/share/classes/java/time/zone/ZoneOffsetTransition.java index 1df7c850b26..5f05338bd09 100644 --- a/jdk/src/share/classes/java/time/zone/ZoneOffsetTransition.java +++ b/jdk/src/share/classes/java/time/zone/ZoneOffsetTransition.java @@ -83,7 +83,7 @@ import java.util.Objects; * The discontinuity is normally a gap in spring and an overlap in autumn. * {@code ZoneOffsetTransition} models the transition between the two offsets. *

                  - * Gaps occur where there are local date-times that simply do not not exist. + * Gaps occur where there are local date-times that simply do not exist. * An example would be when the offset changes from {@code +03:00} to {@code +04:00}. * This might be described as 'the clocks will move forward one hour tonight at 1am'. *

                  @@ -334,7 +334,7 @@ public final class ZoneOffsetTransition /** * Does this transition represent a gap in the local time-line. *

                  - * Gaps occur where there are local date-times that simply do not not exist. + * Gaps occur where there are local date-times that simply do not exist. * An example would be when the offset changes from {@code +01:00} to {@code +02:00}. * This might be described as 'the clocks will move forward one hour tonight at 1am'. * diff --git a/jdk/src/share/classes/java/util/BitSet.java b/jdk/src/share/classes/java/util/BitSet.java index ae95b8e4351..261a77c12a0 100644 --- a/jdk/src/share/classes/java/util/BitSet.java +++ b/jdk/src/share/classes/java/util/BitSet.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1995, 2014, 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 @@ -696,6 +696,9 @@ public class BitSet implements Cloneable, java.io.Serializable { *

                   {@code
                        * for (int i = bs.nextSetBit(0); i >= 0; i = bs.nextSetBit(i+1)) {
                        *     // operate on index i here
                  +     *     if (i == Integer.MAX_VALUE) {
                  +     *         break; // or (i+1) would overflow
                  +     *     }
                        * }}
                  * * @param fromIndex the index to start checking from (inclusive) @@ -1186,10 +1189,12 @@ public class BitSet implements Cloneable, java.io.Serializable { int i = nextSetBit(0); if (i != -1) { b.append(i); - for (i = nextSetBit(i+1); i >= 0; i = nextSetBit(i+1)) { + while (true) { + if (++i < 0) break; + if ((i = nextSetBit(i)) < 0) break; int endOfRun = nextClearBit(i); do { b.append(", ").append(i); } - while (++i < endOfRun); + while (++i != endOfRun); } } diff --git a/jdk/src/share/classes/java/util/Hashtable.java b/jdk/src/share/classes/java/util/Hashtable.java index 4a89bd5816d..c2f42b10263 100644 --- a/jdk/src/share/classes/java/util/Hashtable.java +++ b/jdk/src/share/classes/java/util/Hashtable.java @@ -26,7 +26,6 @@ package java.util; import java.io.*; -import java.util.concurrent.ThreadLocalRandom; import java.util.function.BiConsumer; import java.util.function.Function; import java.util.function.BiFunction; @@ -92,8 +91,10 @@ import java.util.function.BiFunction; * ConcurrentModificationException}. Thus, in the face of concurrent * modification, the iterator fails quickly and cleanly, rather than risking * arbitrary, non-deterministic behavior at an undetermined time in the future. - * The Enumerations returned by Hashtable's keys and elements methods are - * not fail-fast. + * The Enumerations returned by Hashtable's {@link #keys keys} and + * {@link #elements elements} methods are not fail-fast; if the + * Hashtable is structurally modified at any time after the enumeration is + * created then the results of enumerating are undefined. * *

                  Note that the fail-fast behavior of an iterator cannot be guaranteed * as it is, generally speaking, impossible to make any hard guarantees in the @@ -115,6 +116,9 @@ import java.util.function.BiFunction; * to use {@link java.util.concurrent.ConcurrentHashMap} in place of * {@code Hashtable}. * + * @param the type of keys maintained by this map + * @param the type of mapped values + * * @author Arthur van Hoff * @author Josh Bloch * @author Neal Gafter @@ -246,6 +250,9 @@ public class Hashtable /** * Returns an enumeration of the keys in this hashtable. + * Use the Enumeration methods on the returned object to fetch the keys + * sequentially. If the hashtable is structurally modified while enumerating + * over the keys then the results of enumerating are undefined. * * @return an enumeration of the keys in this hashtable. * @see Enumeration @@ -260,7 +267,8 @@ public class Hashtable /** * Returns an enumeration of the values in this hashtable. * Use the Enumeration methods on the returned object to fetch the elements - * sequentially. + * sequentially. If the hashtable is structurally modified while enumerating + * over the values then the results of enumerating are undefined. * * @return an enumeration of the values in this hashtable. * @see java.util.Enumeration @@ -417,8 +425,6 @@ public class Hashtable } private void addEntry(int hash, K key, V value, int index) { - modCount++; - Entry tab[] = table; if (count >= threshold) { // Rehash the table if the threshold is exceeded @@ -434,6 +440,7 @@ public class Hashtable Entry e = (Entry) tab[index]; tab[index] = new Entry<>(hash, key, value, e); count++; + modCount++; } /** @@ -494,12 +501,12 @@ public class Hashtable Entry e = (Entry)tab[index]; for(Entry prev = null ; e != null ; prev = e, e = e.next) { if ((e.hash == hash) && e.key.equals(key)) { - modCount++; if (prev != null) { prev.next = e.next; } else { tab[index] = e.next; } + modCount++; count--; V oldValue = e.value; e.value = null; @@ -528,9 +535,9 @@ public class Hashtable */ public synchronized void clear() { Entry tab[] = table; - modCount++; for (int index = tab.length; --index >= 0; ) tab[index] = null; + modCount++; count = 0; } @@ -719,14 +726,14 @@ public class Hashtable Entry e = (Entry)tab[index]; for(Entry prev = null; e != null; prev = e, e = e.next) { if (e.hash==hash && e.equals(entry)) { - modCount++; if (prev != null) prev.next = e.next; else tab[index] = e.next; + e.value = null; // clear for gc. + modCount++; count--; - e.value = null; return true; } } @@ -939,14 +946,14 @@ public class Hashtable Entry e = (Entry)tab[index]; for (Entry prev = null; e != null; prev = e, e = e.next) { if ((e.hash == hash) && e.key.equals(key) && e.value.equals(value)) { - modCount++; if (prev != null) { prev.next = e.next; } else { tab[index] = e.next; } + e.value = null; // clear for gc + modCount++; count--; - e.value = null; return true; } } @@ -1030,12 +1037,12 @@ public class Hashtable if (e.hash == hash && e.key.equals(key)) { V newValue = remappingFunction.apply(key, e.value); if (newValue == null) { - modCount++; if (prev != null) { prev.next = e.next; } else { tab[index] = e.next; } + modCount++; count--; } else { e.value = newValue; @@ -1059,12 +1066,12 @@ public class Hashtable if (e.hash == hash && Objects.equals(e.key, key)) { V newValue = remappingFunction.apply(key, e.value); if (newValue == null) { - modCount++; if (prev != null) { prev.next = e.next; } else { tab[index] = e.next; } + modCount++; count--; } else { e.value = newValue; @@ -1094,12 +1101,12 @@ public class Hashtable if (e.hash == hash && e.key.equals(key)) { V newValue = remappingFunction.apply(e.value, value); if (newValue == null) { - modCount++; if (prev != null) { prev.next = e.next; } else { tab[index] = e.next; } + modCount++; count--; } else { e.value = newValue; @@ -1298,24 +1305,24 @@ public class Hashtable * by passing an Enumeration. */ private class Enumerator implements Enumeration, Iterator { - Entry[] table = Hashtable.this.table; + final Entry[] table = Hashtable.this.table; int index = table.length; Entry entry; Entry lastReturned; - int type; + final int type; /** * Indicates whether this Enumerator is serving as an Iterator * or an Enumeration. (true -> Iterator). */ - boolean iterator; + final boolean iterator; /** * The modCount value that the iterator believes that the backing * Hashtable should have. If this expectation is violated, the iterator * has detected concurrent modification. */ - protected int expectedModCount = modCount; + protected int expectedModCount = Hashtable.this.modCount; Enumerator(int type, boolean iterator) { this.type = type; @@ -1360,7 +1367,7 @@ public class Hashtable } public T next() { - if (modCount != expectedModCount) + if (Hashtable.this.modCount != expectedModCount) throw new ConcurrentModificationException(); return nextElement(); } @@ -1381,14 +1388,14 @@ public class Hashtable Entry e = (Entry)tab[index]; for(Entry prev = null; e != null; prev = e, e = e.next) { if (e == lastReturned) { - modCount++; - expectedModCount++; if (prev == null) tab[index] = e.next; else prev.next = e.next; - count--; + expectedModCount++; lastReturned = null; + Hashtable.this.modCount++; + Hashtable.this.count--; return; } } diff --git a/jdk/src/share/classes/java/util/Vector.java b/jdk/src/share/classes/java/util/Vector.java index 980f48ce075..01d505e1c8f 100644 --- a/jdk/src/share/classes/java/util/Vector.java +++ b/jdk/src/share/classes/java/util/Vector.java @@ -56,7 +56,9 @@ import java.util.function.UnaryOperator; * concurrent modification, the iterator fails quickly and cleanly, rather * than risking arbitrary, non-deterministic behavior at an undetermined * time in the future. The {@link Enumeration Enumerations} returned by - * the {@link #elements() elements} method are not fail-fast. + * the {@link #elements() elements} method are not fail-fast; if the + * Vector is structurally modified at any time after the enumeration is + * created then the results of enumerating are undefined. * *

                  Note that the fail-fast behavior of an iterator cannot be guaranteed * as it is, generally speaking, impossible to make any hard guarantees in the @@ -74,6 +76,8 @@ import java.util.function.UnaryOperator; * implementation is not needed, it is recommended to use {@link * ArrayList} in place of {@code Vector}. * + * @param Type of component elements + * * @author Lee Boynton * @author Jonathan Payne * @see Collection @@ -330,7 +334,9 @@ public class Vector * Returns an enumeration of the components of this vector. The * returned {@code Enumeration} object will generate all items in * this vector. The first item generated is the item at index {@code 0}, - * then the item at index {@code 1}, and so on. + * then the item at index {@code 1}, and so on. If the vector is + * structurally modified while enumerating over the elements then the + * results of enumerating are undefined. * * @return an enumeration of the components of this vector * @see Iterator @@ -553,7 +559,6 @@ public class Vector * ({@code index < 0 || index >= size()}) */ public synchronized void removeElementAt(int index) { - modCount++; if (index >= elementCount) { throw new ArrayIndexOutOfBoundsException(index + " >= " + elementCount); @@ -565,6 +570,7 @@ public class Vector if (j > 0) { System.arraycopy(elementData, index + 1, elementData, index, j); } + modCount++; elementCount--; elementData[elementCount] = null; /* to let gc do its work */ } @@ -593,7 +599,6 @@ public class Vector * ({@code index < 0 || index > size()}) */ public synchronized void insertElementAt(E obj, int index) { - modCount++; if (index > elementCount) { throw new ArrayIndexOutOfBoundsException(index + " > " + elementCount); @@ -601,6 +606,7 @@ public class Vector ensureCapacityHelper(elementCount + 1); System.arraycopy(elementData, index, elementData, index + 1, elementCount - index); elementData[index] = obj; + modCount++; elementCount++; } @@ -616,8 +622,8 @@ public class Vector * @param obj the component to be added */ public synchronized void addElement(E obj) { - modCount++; ensureCapacityHelper(elementCount + 1); + modCount++; elementData[elementCount++] = obj; } @@ -653,11 +659,11 @@ public class Vector * method (which is part of the {@link List} interface). */ public synchronized void removeAllElements() { - modCount++; // Let gc do its work for (int i = 0; i < elementCount; i++) elementData[i] = null; + modCount++; elementCount = 0; } @@ -705,12 +711,15 @@ public class Vector * of the Vector only if the caller knows that the Vector * does not contain any null elements.) * + * @param type of array elements. The same type as {@code } or a + * supertype of {@code }. * @param a the array into which the elements of the Vector are to * be stored, if it is big enough; otherwise, a new array of the * same runtime type is allocated for this purpose. * @return an array containing the elements of the Vector - * @throws ArrayStoreException if the runtime type of a is not a supertype - * of the runtime type of every element in this Vector + * @throws ArrayStoreException if the runtime type of a, {@code }, is not + * a supertype of the runtime type, {@code }, of every element in this + * Vector * @throws NullPointerException if the given array is null * @since 1.2 */ @@ -778,8 +787,8 @@ public class Vector * @since 1.2 */ public synchronized boolean add(E e) { - modCount++; ensureCapacityHelper(elementCount + 1); + modCount++; elementData[elementCount++] = e; return true; } @@ -879,14 +888,18 @@ public class Vector * @throws NullPointerException if the specified collection is null * @since 1.2 */ - public synchronized boolean addAll(Collection c) { - modCount++; + public boolean addAll(Collection c) { Object[] a = c.toArray(); int numNew = a.length; - ensureCapacityHelper(elementCount + numNew); - System.arraycopy(a, 0, elementData, elementCount, numNew); - elementCount += numNew; - return numNew != 0; + if (numNew > 0) { + synchronized (this) { + ensureCapacityHelper(elementCount + numNew); + System.arraycopy(a, 0, elementData, elementCount, numNew); + modCount++; + elementCount += numNew; + } + } + return numNew > 0; } /** @@ -951,22 +964,25 @@ public class Vector * @since 1.2 */ public synchronized boolean addAll(int index, Collection c) { - modCount++; if (index < 0 || index > elementCount) throw new ArrayIndexOutOfBoundsException(index); Object[] a = c.toArray(); int numNew = a.length; - ensureCapacityHelper(elementCount + numNew); - int numMoved = elementCount - index; - if (numMoved > 0) - System.arraycopy(elementData, index, elementData, index + numNew, - numMoved); + if (numNew > 0) { + ensureCapacityHelper(elementCount + numNew); - System.arraycopy(a, 0, elementData, index, numNew); - elementCount += numNew; - return numNew != 0; + int numMoved = elementCount - index; + if (numMoved > 0) + System.arraycopy(elementData, index, elementData, + index + numNew, numMoved); + + System.arraycopy(a, 0, elementData, index, numNew); + elementCount += numNew; + modCount++; + } + return numNew > 0; } /** @@ -1047,12 +1063,12 @@ public class Vector * (If {@code toIndex==fromIndex}, this operation has no effect.) */ protected synchronized void removeRange(int fromIndex, int toIndex) { - modCount++; int numMoved = elementCount - toIndex; System.arraycopy(elementData, toIndex, elementData, fromIndex, numMoved); // Let gc do its work + modCount++; int newElementCount = elementCount - (toIndex-fromIndex); while (elementCount != newElementCount) elementData[--elementCount] = null; @@ -1420,7 +1436,7 @@ public class Vector } public long estimateSize() { - return (long) (getFence() - index); + return getFence() - index; } public int characteristics() { diff --git a/jdk/src/share/classes/java/util/stream/SortedOps.java b/jdk/src/share/classes/java/util/stream/SortedOps.java index 7a646686d80..7dff81f1f21 100644 --- a/jdk/src/share/classes/java/util/stream/SortedOps.java +++ b/jdk/src/share/classes/java/util/stream/SortedOps.java @@ -278,17 +278,61 @@ final class SortedOps { } } + /** + * Abstract {@link Sink} for implementing sort on reference streams. + * + *

                  + * Note: documentation below applies to reference and all primitive sinks. + *

                  + * Sorting sinks first accept all elements, buffering then into an array + * or a re-sizable data structure, if the size of the pipeline is known or + * unknown respectively. At the end of the sink protocol those elements are + * sorted and then pushed downstream. + * This class records if {@link #cancellationRequested} is called. If so it + * can be inferred that the source pushing source elements into the pipeline + * knows that the pipeline is short-circuiting. In such cases sub-classes + * pushing elements downstream will preserve the short-circuiting protocol + * by calling {@code downstream.cancellationRequested()} and checking the + * result is {@code false} before an element is pushed. + *

                  + * Note that the above behaviour is an optimization for sorting with + * sequential streams. It is not an error that more elements, than strictly + * required to produce a result, may flow through the pipeline. This can + * occur, in general (not restricted to just sorting), for short-circuiting + * parallel pipelines. + */ + private static abstract class AbstractRefSortingSink extends Sink.ChainedReference { + protected final Comparator comparator; + // @@@ could be a lazy final value, if/when support is added + protected boolean cancellationWasRequested; + + AbstractRefSortingSink(Sink downstream, Comparator comparator) { + super(downstream); + this.comparator = comparator; + } + + /** + * Records is cancellation is requested so short-circuiting behaviour + * can be preserved when the sorted elements are pushed downstream. + * + * @return false, as this sink never short-circuits. + */ + @Override + public final boolean cancellationRequested() { + cancellationWasRequested = true; + return false; + } + } + /** * {@link Sink} for implementing sort on SIZED reference streams. */ - private static final class SizedRefSortingSink extends Sink.ChainedReference { - private final Comparator comparator; + private static final class SizedRefSortingSink extends AbstractRefSortingSink { private T[] array; private int offset; SizedRefSortingSink(Sink sink, Comparator comparator) { - super(sink); - this.comparator = comparator; + super(sink, comparator); } @Override @@ -303,8 +347,14 @@ final class SortedOps { public void end() { Arrays.sort(array, 0, offset, comparator); downstream.begin(offset); - for (int i = 0; i < offset; i++) - downstream.accept(array[i]); + if (!cancellationWasRequested) { + for (int i = 0; i < offset; i++) + downstream.accept(array[i]); + } + else { + for (int i = 0; i < offset && !downstream.cancellationRequested(); i++) + downstream.accept(array[i]); + } downstream.end(); array = null; } @@ -318,13 +368,11 @@ final class SortedOps { /** * {@link Sink} for implementing sort on reference streams. */ - private static final class RefSortingSink extends Sink.ChainedReference { - private final Comparator comparator; + private static final class RefSortingSink extends AbstractRefSortingSink { private ArrayList list; RefSortingSink(Sink sink, Comparator comparator) { - super(sink); - this.comparator = comparator; + super(sink, comparator); } @Override @@ -338,7 +386,15 @@ final class SortedOps { public void end() { list.sort(comparator); downstream.begin(list.size()); - list.forEach(downstream::accept); + if (!cancellationWasRequested) { + list.forEach(downstream::accept); + } + else { + for (T t : list) { + if (downstream.cancellationRequested()) break; + downstream.accept(t); + } + } downstream.end(); list = null; } @@ -349,10 +405,27 @@ final class SortedOps { } } + /** + * Abstract {@link Sink} for implementing sort on int streams. + */ + private static abstract class AbstractIntSortingSink extends Sink.ChainedInt { + protected boolean cancellationWasRequested; + + AbstractIntSortingSink(Sink downstream) { + super(downstream); + } + + @Override + public final boolean cancellationRequested() { + cancellationWasRequested = true; + return false; + } + } + /** * {@link Sink} for implementing sort on SIZED int streams. */ - private static final class SizedIntSortingSink extends Sink.ChainedInt { + private static final class SizedIntSortingSink extends AbstractIntSortingSink { private int[] array; private int offset; @@ -371,8 +444,14 @@ final class SortedOps { public void end() { Arrays.sort(array, 0, offset); downstream.begin(offset); - for (int i = 0; i < offset; i++) - downstream.accept(array[i]); + if (!cancellationWasRequested) { + for (int i = 0; i < offset; i++) + downstream.accept(array[i]); + } + else { + for (int i = 0; i < offset && !downstream.cancellationRequested(); i++) + downstream.accept(array[i]); + } downstream.end(); array = null; } @@ -386,7 +465,7 @@ final class SortedOps { /** * {@link Sink} for implementing sort on int streams. */ - private static final class IntSortingSink extends Sink.ChainedInt { + private static final class IntSortingSink extends AbstractIntSortingSink { private SpinedBuffer.OfInt b; IntSortingSink(Sink sink) { @@ -405,8 +484,16 @@ final class SortedOps { int[] ints = b.asPrimitiveArray(); Arrays.sort(ints); downstream.begin(ints.length); - for (int anInt : ints) - downstream.accept(anInt); + if (!cancellationWasRequested) { + for (int anInt : ints) + downstream.accept(anInt); + } + else { + for (int anInt : ints) { + if (downstream.cancellationRequested()) break; + downstream.accept(anInt); + } + } downstream.end(); } @@ -416,10 +503,27 @@ final class SortedOps { } } + /** + * Abstract {@link Sink} for implementing sort on long streams. + */ + private static abstract class AbstractLongSortingSink extends Sink.ChainedLong { + protected boolean cancellationWasRequested; + + AbstractLongSortingSink(Sink downstream) { + super(downstream); + } + + @Override + public final boolean cancellationRequested() { + cancellationWasRequested = true; + return false; + } + } + /** * {@link Sink} for implementing sort on SIZED long streams. */ - private static final class SizedLongSortingSink extends Sink.ChainedLong { + private static final class SizedLongSortingSink extends AbstractLongSortingSink { private long[] array; private int offset; @@ -438,8 +542,14 @@ final class SortedOps { public void end() { Arrays.sort(array, 0, offset); downstream.begin(offset); - for (int i = 0; i < offset; i++) - downstream.accept(array[i]); + if (!cancellationWasRequested) { + for (int i = 0; i < offset; i++) + downstream.accept(array[i]); + } + else { + for (int i = 0; i < offset && !downstream.cancellationRequested(); i++) + downstream.accept(array[i]); + } downstream.end(); array = null; } @@ -453,7 +563,7 @@ final class SortedOps { /** * {@link Sink} for implementing sort on long streams. */ - private static final class LongSortingSink extends Sink.ChainedLong { + private static final class LongSortingSink extends AbstractLongSortingSink { private SpinedBuffer.OfLong b; LongSortingSink(Sink sink) { @@ -472,8 +582,16 @@ final class SortedOps { long[] longs = b.asPrimitiveArray(); Arrays.sort(longs); downstream.begin(longs.length); - for (long aLong : longs) - downstream.accept(aLong); + if (!cancellationWasRequested) { + for (long aLong : longs) + downstream.accept(aLong); + } + else { + for (long aLong : longs) { + if (downstream.cancellationRequested()) break; + downstream.accept(aLong); + } + } downstream.end(); } @@ -483,10 +601,27 @@ final class SortedOps { } } + /** + * Abstract {@link Sink} for implementing sort on long streams. + */ + private static abstract class AbstractDoubleSortingSink extends Sink.ChainedDouble { + protected boolean cancellationWasRequested; + + AbstractDoubleSortingSink(Sink downstream) { + super(downstream); + } + + @Override + public final boolean cancellationRequested() { + cancellationWasRequested = true; + return false; + } + } + /** * {@link Sink} for implementing sort on SIZED double streams. */ - private static final class SizedDoubleSortingSink extends Sink.ChainedDouble { + private static final class SizedDoubleSortingSink extends AbstractDoubleSortingSink { private double[] array; private int offset; @@ -505,8 +640,14 @@ final class SortedOps { public void end() { Arrays.sort(array, 0, offset); downstream.begin(offset); - for (int i = 0; i < offset; i++) - downstream.accept(array[i]); + if (!cancellationWasRequested) { + for (int i = 0; i < offset; i++) + downstream.accept(array[i]); + } + else { + for (int i = 0; i < offset && !downstream.cancellationRequested(); i++) + downstream.accept(array[i]); + } downstream.end(); array = null; } @@ -520,7 +661,7 @@ final class SortedOps { /** * {@link Sink} for implementing sort on double streams. */ - private static final class DoubleSortingSink extends Sink.ChainedDouble { + private static final class DoubleSortingSink extends AbstractDoubleSortingSink { private SpinedBuffer.OfDouble b; DoubleSortingSink(Sink sink) { @@ -539,8 +680,16 @@ final class SortedOps { double[] doubles = b.asPrimitiveArray(); Arrays.sort(doubles); downstream.begin(doubles.length); - for (double aDouble : doubles) - downstream.accept(aDouble); + if (!cancellationWasRequested) { + for (double aDouble : doubles) + downstream.accept(aDouble); + } + else { + for (double aDouble : doubles) { + if (downstream.cancellationRequested()) break; + downstream.accept(aDouble); + } + } downstream.end(); } diff --git a/jdk/src/share/classes/sun/launcher/LauncherHelper.java b/jdk/src/share/classes/sun/launcher/LauncherHelper.java index dc6a10bfac2..62c1b19b4c4 100644 --- a/jdk/src/share/classes/sun/launcher/LauncherHelper.java +++ b/jdk/src/share/classes/sun/launcher/LauncherHelper.java @@ -69,6 +69,14 @@ import java.util.jar.Manifest; public enum LauncherHelper { INSTANCE; + + // used to identify JavaFX applications + private static final String JAVAFX_APPLICATION_MARKER = + "JavaFX-Application-Class"; + private static final String JAVAFX_APPLICATION_CLASS_NAME = + "javafx.application.Application"; + private static final String JAVAFX_FXHELPER_CLASS_NAME_SUFFIX = + "sun.launcher.LauncherHelper$FXHelper"; private static final String MAIN_CLASS = "Main-Class"; private static StringBuilder outBuf = new StringBuilder(); @@ -418,7 +426,8 @@ public enum LauncherHelper { * exists to enforce compliance with the jar specification */ if (mainAttrs.containsKey( - new Attributes.Name(FXHelper.JAVAFX_APPLICATION_MARKER))) { + new Attributes.Name(JAVAFX_APPLICATION_MARKER))) { + FXHelper.setFXLaunchParameters(jarname, LM_JAR); return FXHelper.class.getName(); } @@ -516,9 +525,9 @@ public enum LauncherHelper { * the main class may or may not have a main method, so do this before * validating the main class. */ - if (mainClass.equals(FXHelper.class) || - FXHelper.doesExtendFXApplication(mainClass)) { - // Will abort() if there are problems with the FX runtime + if (JAVAFX_FXHELPER_CLASS_NAME_SUFFIX.equals(mainClass.getName()) || + doesExtendFXApplication(mainClass)) { + // Will abort() if there are problems with FX runtime FXHelper.setFXLaunchParameters(what, mode); return FXHelper.class; } @@ -537,6 +546,21 @@ public enum LauncherHelper { return appClass; } + /* + * Check if the given class is a JavaFX Application class. This is done + * in a way that does not cause the Application class to load or throw + * ClassNotFoundException if the JavaFX runtime is not available. + */ + private static boolean doesExtendFXApplication(Class mainClass) { + for (Class sc = mainClass.getSuperclass(); sc != null; + sc = sc.getSuperclass()) { + if (sc.getName().equals(JAVAFX_APPLICATION_CLASS_NAME)) { + return true; + } + } + return false; + } + // Check the existence and signature of main and abort if incorrect static void validateMainClass(Class mainClass) { Method mainMethod; @@ -545,7 +569,7 @@ public enum LauncherHelper { } catch (NoSuchMethodException nsme) { // invalid main or not FX application, abort with an error abort(null, "java.launcher.cls.error4", mainClass.getName(), - FXHelper.JAVAFX_APPLICATION_CLASS_NAME); + JAVAFX_APPLICATION_CLASS_NAME); return; // Avoid compiler issues } @@ -668,11 +692,7 @@ public enum LauncherHelper { } static final class FXHelper { - // Marker entry in jar manifest that designates a JavaFX application jar - private static final String JAVAFX_APPLICATION_MARKER = - "JavaFX-Application-Class"; - private static final String JAVAFX_APPLICATION_CLASS_NAME = - "javafx.application.Application"; + private static final String JAVAFX_LAUNCHER_CLASS_NAME = "com.sun.javafx.application.LauncherImpl"; @@ -742,21 +762,6 @@ public enum LauncherHelper { } } - /* - * Check if the given class is a JavaFX Application class. This is done - * in a way that does not cause the Application class to load or throw - * ClassNotFoundException if the JavaFX runtime is not available. - */ - private static boolean doesExtendFXApplication(Class mainClass) { - for (Class sc = mainClass.getSuperclass(); sc != null; - sc = sc.getSuperclass()) { - if (sc.getName().equals(JAVAFX_APPLICATION_CLASS_NAME)) { - return true; - } - } - return false; - } - public static void main(String... args) throws Exception { if (fxLauncherMethod == null || fxLaunchMode == null diff --git a/jdk/test/ProblemList.txt b/jdk/test/ProblemList.txt index 21058464087..dd045badca7 100644 --- a/jdk/test/ProblemList.txt +++ b/jdk/test/ProblemList.txt @@ -249,6 +249,18 @@ tools/launcher/FXLauncherTest.java linux-all # jdk_jdi +# 6983531 +com/sun/jdi/BadHandshakeTest.java linux-all, windows-all + +# 8004127 +com/sun/jdi/RedefineImplementor.sh generic-all + +# 8031555 +com/sun/jdi/JdbMethodExitTest.sh generic-all + +# 8041934 +com/sun/jdi/RepStep.java generic-all + ############################################################################ # jdk_util @@ -270,4 +282,10 @@ sun/tools/jcmd/TestJcmdSanity.java windows-all # 8033104 sun/jvmstat/monitor/MonitoredVm/CR6672135.java generic-all +# 8041989 +sun/tools/jstatd/TestJstatdDefaults.java generic-all + +# 8037285 +sun/tools/jstatd/TestJstatdServer.java generic-all + ############################################################################ diff --git a/jdk/test/java/util/BitSet/BSMethods.java b/jdk/test/java/util/BitSet/BSMethods.java index c8f69e93e6e..9aa419ac9bf 100644 --- a/jdk/test/java/util/BitSet/BSMethods.java +++ b/jdk/test/java/util/BitSet/BSMethods.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2005, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2014, 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 @@ -23,7 +23,7 @@ /* @test * @bug 4098239 4107540 4080736 4261102 4274710 4305272 - * 4979017 4979028 4979031 5030267 6222207 + * 4979017 4979028 4979031 5030267 6222207 8040806 * @summary Test the operation of the methods of BitSet class * @author Mike McCloskey, Martin Buchholz */ @@ -897,6 +897,16 @@ public class BSMethods { private static void testToString() { check(new BitSet().toString().equals("{}")); check(makeSet(2,3,42,43,234).toString().equals("{2, 3, 42, 43, 234}")); + try { + check(makeSet(Integer.MAX_VALUE-1).toString().equals( + "{" + (Integer.MAX_VALUE-1) + "}")); + check(makeSet(Integer.MAX_VALUE).toString().equals( + "{" + Integer.MAX_VALUE + "}")); + check(makeSet(0, 1, Integer.MAX_VALUE-1, Integer.MAX_VALUE).toString().equals( + "{0, 1, " + (Integer.MAX_VALUE-1) + ", " + Integer.MAX_VALUE + "}")); + } catch (IndexOutOfBoundsException exc) { + fail("toString() with indices near MAX_VALUE"); + } } private static void testLogicalIdentities() { diff --git a/jdk/test/java/util/stream/test/org/openjdk/tests/java/util/stream/SortedOpTest.java b/jdk/test/java/util/stream/test/org/openjdk/tests/java/util/stream/SortedOpTest.java index 960e614fdc4..3ca690e9096 100644 --- a/jdk/test/java/util/stream/test/org/openjdk/tests/java/util/stream/SortedOpTest.java +++ b/jdk/test/java/util/stream/test/org/openjdk/tests/java/util/stream/SortedOpTest.java @@ -26,6 +26,9 @@ import org.testng.annotations.Test; import java.util.*; import java.util.Spliterators; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.function.BiFunction; +import java.util.function.Consumer; import java.util.function.Function; import java.util.function.Supplier; import java.util.stream.*; @@ -122,24 +125,33 @@ public class SortedOpTest extends OpTestCase { @Test(groups = { "serialization-hostile" }) public void testSequentialShortCircuitTerminal() { - // The sorted op for sequential evaluation will buffer all elements when accepting - // then at the end sort those elements and push those elements downstream + // The sorted op for sequential evaluation will buffer all elements when + // accepting then at the end sort those elements and push those elements + // downstream + // A peek operation is added in-between the sorted() and terminal + // operation that counts the number of calls to its consumer and + // asserts that the number of calls is at most the required quantity List l = Arrays.asList(5, 4, 3, 2, 1); + Function> knownSize = i -> assertNCallsOnly( + l.stream().sorted(), Stream::peek, i); + Function> unknownSize = i -> assertNCallsOnly + (unknownSizeStream(l).sorted(), Stream::peek, i); + // Find - assertEquals(l.stream().sorted().findFirst(), Optional.of(1)); - assertEquals(l.stream().sorted().findAny(), Optional.of(1)); - assertEquals(unknownSizeStream(l).sorted().findFirst(), Optional.of(1)); - assertEquals(unknownSizeStream(l).sorted().findAny(), Optional.of(1)); + assertEquals(knownSize.apply(1).findFirst(), Optional.of(1)); + assertEquals(knownSize.apply(1).findAny(), Optional.of(1)); + assertEquals(unknownSize.apply(1).findFirst(), Optional.of(1)); + assertEquals(unknownSize.apply(1).findAny(), Optional.of(1)); // Match - assertEquals(l.stream().sorted().anyMatch(i -> i == 2), true); - assertEquals(l.stream().sorted().noneMatch(i -> i == 2), false); - assertEquals(l.stream().sorted().allMatch(i -> i == 2), false); - assertEquals(unknownSizeStream(l).sorted().anyMatch(i -> i == 2), true); - assertEquals(unknownSizeStream(l).sorted().noneMatch(i -> i == 2), false); - assertEquals(unknownSizeStream(l).sorted().allMatch(i -> i == 2), false); + assertEquals(knownSize.apply(2).anyMatch(i -> i == 2), true); + assertEquals(knownSize.apply(2).noneMatch(i -> i == 2), false); + assertEquals(knownSize.apply(2).allMatch(i -> i == 2), false); + assertEquals(unknownSize.apply(2).anyMatch(i -> i == 2), true); + assertEquals(unknownSize.apply(2).noneMatch(i -> i == 2), false); + assertEquals(unknownSize.apply(2).allMatch(i -> i == 2), false); } private Stream unknownSizeStream(List l) { @@ -199,19 +211,24 @@ public class SortedOpTest extends OpTestCase { public void testIntSequentialShortCircuitTerminal() { int[] a = new int[]{5, 4, 3, 2, 1}; + Function knownSize = i -> assertNCallsOnly( + Arrays.stream(a).sorted(), (s, c) -> s.peek(c::accept), i); + Function unknownSize = i -> assertNCallsOnly + (unknownSizeIntStream(a).sorted(), (s, c) -> s.peek(c::accept), i); + // Find - assertEquals(Arrays.stream(a).sorted().findFirst(), OptionalInt.of(1)); - assertEquals(Arrays.stream(a).sorted().findAny(), OptionalInt.of(1)); - assertEquals(unknownSizeIntStream(a).sorted().findFirst(), OptionalInt.of(1)); - assertEquals(unknownSizeIntStream(a).sorted().findAny(), OptionalInt.of(1)); + assertEquals(knownSize.apply(1).findFirst(), OptionalInt.of(1)); + assertEquals(knownSize.apply(1).findAny(), OptionalInt.of(1)); + assertEquals(unknownSize.apply(1).findFirst(), OptionalInt.of(1)); + assertEquals(unknownSize.apply(1).findAny(), OptionalInt.of(1)); // Match - assertEquals(Arrays.stream(a).sorted().anyMatch(i -> i == 2), true); - assertEquals(Arrays.stream(a).sorted().noneMatch(i -> i == 2), false); - assertEquals(Arrays.stream(a).sorted().allMatch(i -> i == 2), false); - assertEquals(unknownSizeIntStream(a).sorted().anyMatch(i -> i == 2), true); - assertEquals(unknownSizeIntStream(a).sorted().noneMatch(i -> i == 2), false); - assertEquals(unknownSizeIntStream(a).sorted().allMatch(i -> i == 2), false); + assertEquals(knownSize.apply(2).anyMatch(i -> i == 2), true); + assertEquals(knownSize.apply(2).noneMatch(i -> i == 2), false); + assertEquals(knownSize.apply(2).allMatch(i -> i == 2), false); + assertEquals(unknownSize.apply(2).anyMatch(i -> i == 2), true); + assertEquals(unknownSize.apply(2).noneMatch(i -> i == 2), false); + assertEquals(unknownSize.apply(2).allMatch(i -> i == 2), false); } private IntStream unknownSizeIntStream(int[] a) { @@ -242,19 +259,24 @@ public class SortedOpTest extends OpTestCase { public void testLongSequentialShortCircuitTerminal() { long[] a = new long[]{5, 4, 3, 2, 1}; + Function knownSize = i -> assertNCallsOnly( + Arrays.stream(a).sorted(), (s, c) -> s.peek(c::accept), i); + Function unknownSize = i -> assertNCallsOnly + (unknownSizeLongStream(a).sorted(), (s, c) -> s.peek(c::accept), i); + // Find - assertEquals(Arrays.stream(a).sorted().findFirst(), OptionalLong.of(1)); - assertEquals(Arrays.stream(a).sorted().findAny(), OptionalLong.of(1)); - assertEquals(unknownSizeLongStream(a).sorted().findFirst(), OptionalLong.of(1)); - assertEquals(unknownSizeLongStream(a).sorted().findAny(), OptionalLong.of(1)); + assertEquals(knownSize.apply(1).findFirst(), OptionalLong.of(1)); + assertEquals(knownSize.apply(1).findAny(), OptionalLong.of(1)); + assertEquals(unknownSize.apply(1).findFirst(), OptionalLong.of(1)); + assertEquals(unknownSize.apply(1).findAny(), OptionalLong.of(1)); // Match - assertEquals(Arrays.stream(a).sorted().anyMatch(i -> i == 2), true); - assertEquals(Arrays.stream(a).sorted().noneMatch(i -> i == 2), false); - assertEquals(Arrays.stream(a).sorted().allMatch(i -> i == 2), false); - assertEquals(unknownSizeLongStream(a).sorted().anyMatch(i -> i == 2), true); - assertEquals(unknownSizeLongStream(a).sorted().noneMatch(i -> i == 2), false); - assertEquals(unknownSizeLongStream(a).sorted().allMatch(i -> i == 2), false); + assertEquals(knownSize.apply(2).anyMatch(i -> i == 2), true); + assertEquals(knownSize.apply(2).noneMatch(i -> i == 2), false); + assertEquals(knownSize.apply(2).allMatch(i -> i == 2), false); + assertEquals(unknownSize.apply(2).anyMatch(i -> i == 2), true); + assertEquals(unknownSize.apply(2).noneMatch(i -> i == 2), false); + assertEquals(unknownSize.apply(2).allMatch(i -> i == 2), false); } private LongStream unknownSizeLongStream(long[] a) { @@ -285,19 +307,24 @@ public class SortedOpTest extends OpTestCase { public void testDoubleSequentialShortCircuitTerminal() { double[] a = new double[]{5.0, 4.0, 3.0, 2.0, 1.0}; + Function knownSize = i -> assertNCallsOnly( + Arrays.stream(a).sorted(), (s, c) -> s.peek(c::accept), i); + Function unknownSize = i -> assertNCallsOnly + (unknownSizeDoubleStream(a).sorted(), (s, c) -> s.peek(c::accept), i); + // Find - assertEquals(Arrays.stream(a).sorted().findFirst(), OptionalDouble.of(1)); - assertEquals(Arrays.stream(a).sorted().findAny(), OptionalDouble.of(1)); - assertEquals(unknownSizeDoubleStream(a).sorted().findFirst(), OptionalDouble.of(1)); - assertEquals(unknownSizeDoubleStream(a).sorted().findAny(), OptionalDouble.of(1)); + assertEquals(knownSize.apply(1).findFirst(), OptionalDouble.of(1)); + assertEquals(knownSize.apply(1).findAny(), OptionalDouble.of(1)); + assertEquals(unknownSize.apply(1).findFirst(), OptionalDouble.of(1)); + assertEquals(unknownSize.apply(1).findAny(), OptionalDouble.of(1)); // Match - assertEquals(Arrays.stream(a).sorted().anyMatch(i -> i == 2.0), true); - assertEquals(Arrays.stream(a).sorted().noneMatch(i -> i == 2.0), false); - assertEquals(Arrays.stream(a).sorted().allMatch(i -> i == 2.0), false); - assertEquals(unknownSizeDoubleStream(a).sorted().anyMatch(i -> i == 2.0), true); - assertEquals(unknownSizeDoubleStream(a).sorted().noneMatch(i -> i == 2.0), false); - assertEquals(unknownSizeDoubleStream(a).sorted().allMatch(i -> i == 2.0), false); + assertEquals(knownSize.apply(2).anyMatch(i -> i == 2.0), true); + assertEquals(knownSize.apply(2).noneMatch(i -> i == 2.0), false); + assertEquals(knownSize.apply(2).allMatch(i -> i == 2.0), false); + assertEquals(unknownSize.apply(2).anyMatch(i -> i == 2.0), true); + assertEquals(unknownSize.apply(2).noneMatch(i -> i == 2.0), false); + assertEquals(unknownSize.apply(2).allMatch(i -> i == 2.0), false); } private DoubleStream unknownSizeDoubleStream(double[] a) { @@ -321,4 +348,14 @@ public class SortedOpTest extends OpTestCase { assertSorted(result); assertContentsUnordered(data, result); } + + /** + * Interpose a consumer that asserts it is called at most N times. + */ + , R> S assertNCallsOnly(S s, BiFunction, S> pf, int n) { + AtomicInteger boxedInt = new AtomicInteger(); + return pf.apply(s, i -> { + assertFalse(boxedInt.incrementAndGet() > n, "Intermediate op called more than " + n + " time(s)"); + }); + } } diff --git a/jdk/test/tools/launcher/FXLauncherTest.java b/jdk/test/tools/launcher/FXLauncherTest.java index 32cd7c522a0..d29d8ab6e3f 100644 --- a/jdk/test/tools/launcher/FXLauncherTest.java +++ b/jdk/test/tools/launcher/FXLauncherTest.java @@ -23,7 +23,7 @@ /* * @test - * @bug 8001533 8004547 + * @bug 8001533 8004547 8035782 * @summary Test launching FX application with java -jar * Test uses main method and blank main method, a jfx app class and an incorrest * jfx app class, a main-class for the manifest, a bogus one and none. @@ -373,6 +373,11 @@ public class FXLauncherTest extends TestHelper { System.out.println(tr); throw new Exception("jfxrt.jar is being loaded, it should not be!"); } + if (!tr.notContains("sun.launcher.LauncherHelper$FXHelper")) { + System.out.println("testing for extraneous 'sun.launcher.LauncherHelper$FXHelper'"); + System.out.println(tr); + throw new Exception("FXHelper is being loaded, it should not be!"); + } for (String p : APP_PARMS) { if (!tr.contains(p)) { System.err.println("ERROR: Did not find "