This commit is contained in:
Chris Hegarty 2014-05-06 12:20:29 +01:00
commit 6810bbe579
45 changed files with 732 additions and 469 deletions

View File

@ -201,7 +201,7 @@ public enum DayOfWeek implements TemporalAccessor, TemporalAdjuster {
* Gets the day-of-week {@code int} value.
* <p>
* 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}.
* <p>
* 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}.
* <p>
* 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.
* <p>
@ -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)}.
* <p>

View File

@ -546,7 +546,7 @@ public final class Duration
* They are returned in the order seconds, nanos.
* <p>
* 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
* <p>
* 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
* <p>
* 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
*/

View File

@ -530,7 +530,7 @@ public final class Instant
/**
* Gets the value of the specified field from this instant as an {@code int}.
* <p>
* 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}.
* <p>
* 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.
* <p>

View File

@ -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.
* <p>
* 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.
* <p>
@ -592,7 +592,7 @@ public final class LocalDate
/**
* Gets the value of the specified field from this date as an {@code int}.
* <p>
* 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}.
* <p>
* 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}.
* <p>
* 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.
* <p>
@ -875,7 +875,9 @@ public final class LocalDate
* <p>
* 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}.
* <p>
* 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:
* <pre>
* import static java.time.Month.*;
* import static java.time.temporal.Adjusters.*;
* import static java.time.temporal.TemporalAdjusters.*;
*
* result = localDate.with(JULY).with(lastDayOfMonth());
* </pre>
@ -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.
* <p>
* If the day-of-month is invalid for the year, it will be changed to the last valid day of the month.
* <p>
* 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.
* <p>
* If the day-of-month is invalid for the year, it will be changed to the last valid day of the month.
* <p>
* 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.
* <p>
* If the resulting date is invalid, an exception is thrown.
* <p>
* 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.
* <p>
* If the resulting date is invalid, an exception is thrown.
* <p>
* 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.
* <p>
* This method adds the specified amount to the years field in three steps:
* <ol>
@ -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.
* <p>
* This method adds the specified amount to the months field in three steps:
* <ol>
@ -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.
* <p>
* 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.
* <p>
* This method subtracts the specified amount from the years field in three steps:
* <ol>
* <li>Subtract the input years to the year field</li>
* <li>Subtract the input years from the year field</li>
* <li>Check if the resulting date would be invalid</li>
* <li>Adjust the day-of-month to the last valid day if necessary</li>
* </ol>
@ -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.
* <p>
* This method subtracts the specified amount from the months field in three steps:
* <ol>
* <li>Subtract the input months to the month-of-year field</li>
* <li>Subtract the input months from the month-of-year field</li>
* <li>Check if the resulting date would be invalid</li>
* <li>Adjust the day-of-month to the last valid day if necessary</li>
* </ol>
@ -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.
* <p>
* 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.

View File

@ -428,7 +428,7 @@ public final class LocalDateTime
/**
* Obtains an instance of {@code LocalDateTime} from a temporal object.
* <p>
* 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}.
* <p>
@ -656,7 +656,7 @@ public final class LocalDateTime
/**
* Gets the value of the specified field from this date-time as an {@code int}.
* <p>
* 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}.
* <p>
* 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}.
* <p>
* 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.
* <p>
@ -878,7 +878,9 @@ public final class LocalDateTime
* <p>
* 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}.
* <p>
* 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:
* <pre>
* import static java.time.Month.*;
* import static java.time.temporal.Adjusters.*;
* import static java.time.temporal.TemporalAdjusters.*;
*
* result = localDateTime.with(JULY).with(lastDayOfMonth());
* </pre>
@ -974,6 +976,7 @@ public final class LocalDateTime
//-----------------------------------------------------------------------
/**
* Returns a copy of this {@code LocalDateTime} with the year altered.
* <p>
* 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.
* <p>
@ -989,6 +992,7 @@ public final class LocalDateTime
/**
* Returns a copy of this {@code LocalDateTime} with the month-of-year altered.
* <p>
* 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.
* <p>
@ -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.
* <p>
* 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.
* <p>
* 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.
* <p>
* If the resulting date-time is invalid, an exception is thrown.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* This method adds the specified amount to the years field in three steps:
* <ol>
@ -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.
* <p>
* This method adds the specified amount to the months field in three steps:
* <ol>
@ -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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* This method subtracts the specified amount from the years field in three steps:
* <ol>
@ -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.
* <p>
* This method subtracts the specified amount from the months field in three steps:
* <ol>
@ -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.
* <p>
* 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.
* <p>
* 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.
* <p>
@ -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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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 <R> the type of the result

View File

@ -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}.
* <p>
* {@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}.
* <p>
* 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.
* <p>
@ -395,7 +395,7 @@ public final class LocalTime
* on extracting the {@link ChronoField#NANO_OF_DAY NANO_OF_DAY} field.
* <p>
* 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.
* <p>
* 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.
* <p>
@ -589,7 +589,7 @@ public final class LocalTime
/**
* Gets the value of the specified field from this time as an {@code int}.
* <p>
* 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}.
* <p>
* 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}.
* <p>
* 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.
* <p>
@ -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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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;

View File

@ -202,7 +202,7 @@ public enum Month implements TemporalAccessor, TemporalAdjuster {
* chronology, or can be converted to a {@code LocalDate}.
* <p>
* 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}.
* <p>
* 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}.
* <p>
* 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.
* <p>

View File

@ -90,8 +90,8 @@ import java.util.Objects;
* A month-day in the ISO-8601 calendar system, such as {@code --12-03}.
* <p>
* {@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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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}.
* <p>
* 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}.
* <p>
* 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}.
* <p>
* 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.
* <p>
@ -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

View File

@ -199,7 +199,7 @@ public final class OffsetDateTime
/**
* Obtains the current date-time from the system clock in the default time-zone.
* <p>
* 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.
* <p>
@ -215,7 +215,7 @@ public final class OffsetDateTime
/**
* Obtains the current date-time from the system clock in the specified time-zone.
* <p>
* 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.
* <p>
@ -345,7 +345,7 @@ public final class OffsetDateTime
* those fields that are equivalent to the relevant objects.
* <p>
* 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}.
* <p>
* 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}.
* <p>
* 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}.
* <p>
* 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.
* <p>
@ -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.
* <p>
* 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}.
* <p>
* 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}.
* <p>
* Additional information can be obtained from the {@code DayOfWeek}.
* This includes textual names of the values.
@ -868,7 +868,8 @@ public final class OffsetDateTime
* <p>
* 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:
* <pre>
* import static java.time.Month.*;
* import static java.time.temporal.Adjusters.*;
* import static java.time.temporal.TemporalAdjusters.*;
*
* result = offsetDateTime.with(JULY).with(lastDayOfMonth());
* </pre>
@ -920,7 +921,7 @@ public final class OffsetDateTime
/**
* Returns a copy of this date-time with the specified field set to a new value.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* This method adds the specified amount to the years field in three steps:
* <ol>
@ -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.
* <p>
* This method adds the specified amount to the months field in three steps:
* <ol>
@ -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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* This method subtracts the specified amount from the years field in three steps:
* <ol>
* <li>Subtract the input years to the year field</li>
* <li>Subtract the input years from the year field</li>
* <li>Check if the resulting date would be invalid</li>
* <li>Adjust the day-of-month to the last valid day if necessary</li>
* </ol>
@ -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.
* <p>
* This method subtracts the specified amount from the months field in three steps:
* <ol>
* <li>Subtract the input months to the month-of-year field</li>
* <li>Subtract the input months from the month-of-year field</li>
* <li>Check if the resulting date would be invalid</li>
* <li>Adjust the day-of-month to the last valid day if necessary</li>
* </ol>
@ -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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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)}.
* <p>
* The {@code Temporal} passed to this method is converted to a
@ -1608,7 +1614,7 @@ public final class OffsetDateTime
* <p>
* 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.
* <p>
* 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.
* <p>
* The comparison is based on the instant then on the local date-time.
* It is "consistent with equals", as defined by {@link Comparable}.

View File

@ -153,14 +153,14 @@ public final class OffsetTime
/**
* Obtains the current time from the system clock in the default time-zone.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
@ -277,7 +277,7 @@ public final class OffsetTime
* those fields that are equivalent to the relevant objects.
* <p>
* 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.
* <p>
* 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.
* <p>
@ -473,7 +473,7 @@ public final class OffsetTime
/**
* Gets the value of the specified field from this time as an {@code int}.
* <p>
* 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}.
* <p>
* 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}.
* <p>
* 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.
* <p>
@ -575,7 +575,7 @@ public final class OffsetTime
* <p>
* 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.
* <p>
* The offset does not affect the calculation and will be the same in the result.
* <p>
@ -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.
* <p>
* The offset does not affect the calculation and will be the same in the result.
* <p>
@ -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.
* <p>
* The offset does not affect the calculation and will be the same in the result.
* <p>
@ -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.
* <p>
* The offset does not affect the calculation and will be the same in the result.
* <p>
@ -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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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)}.
* <p>
* The {@code Temporal} passed to this method is converted to a
@ -1140,7 +1140,7 @@ public final class OffsetTime
* <p>
* 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.
* <p>
* There are two equivalent ways of using this method.
@ -1165,7 +1165,7 @@ public final class OffsetTime
* <p>
* 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) {

View File

@ -616,7 +616,7 @@ public final class Period
* <p>
* 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
* <p>
* 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

View File

@ -164,7 +164,7 @@ public final class Year
/**
* Obtains the current year from the system clock in the default time-zone.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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}.
* <p>
* 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.
* <p>
* 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.
* <p>
@ -441,7 +441,7 @@ public final class Year
/**
* Gets the value of the specified field from this year as an {@code int}.
* <p>
* 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}.
* <p>
* 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.
* <p>
@ -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.
* <p>
* 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.
* <p>
* 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)}.
* <p>
* 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.
* <p>
* There are two equivalent ways of using this method.
@ -948,7 +948,7 @@ public final class Year
* <p>
* 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

View File

@ -157,9 +157,8 @@ public final class YearMonth
/**
* Obtains the current year-month from the system clock in the default time-zone.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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}.
* <p>
* 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.
* <p>
* 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.
* <p>
@ -430,7 +429,7 @@ public final class YearMonth
/**
* Gets the value of the specified field from this year-month as an {@code int}.
* <p>
* 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}.
* <p>
* 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.
* <p>
@ -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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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)}.
* <p>
* 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.
* <p>
* 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

View File

@ -453,7 +453,7 @@ public abstract class ZoneId implements Serializable {
* zones over offset-based zones using {@link TemporalQueries#zone()}.
* <p>
* 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

View File

@ -89,7 +89,7 @@ import java.util.concurrent.ConcurrentMap;
/**
* A time-zone offset from Greenwich/UTC, such as {@code +02:00}.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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}.
* <p>
* 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}.
* <p>
* 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.
* <p>

View File

@ -418,7 +418,7 @@ public final class ZonedDateTime
* <p>
* 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.
* <p>
* 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.
* <p>
* 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}.
* <p>
* 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}.
* <p>
* 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}.
* <p>
* 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.
* <p>
@ -1182,7 +1183,8 @@ public final class ZonedDateTime
* <p>
* 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:
* <pre>
* import static java.time.Month.*;
* import static java.time.temporal.Adjusters.*;
* import static java.time.temporal.TemporalAdjusters.*;
*
* result = zonedDateTime.with(JULY).with(lastDayOfMonth());
* </pre>
@ -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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
@ -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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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 <R> 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)}.
* <p>
* The {@code Temporal} passed to this method is converted to a
@ -2059,7 +2061,7 @@ public final class ZonedDateTime
* <p>
* 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.
* <p>
* There are two equivalent ways of using this method.

View File

@ -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

View File

@ -227,7 +227,7 @@ abstract class ChronoLocalDateImpl<D extends ChronoLocalDate>
//-----------------------------------------------------------------------
/**
* 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.
* <p>
* 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<D extends ChronoLocalDate>
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.
* <p>
* 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<D extends ChronoLocalDate>
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.
* <p>
* 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<D extends ChronoLocalDate>
//-----------------------------------------------------------------------
/**
* 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.
* <p>
* 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<D extends ChronoLocalDate>
}
/**
* 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.
* <p>
* 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<D extends ChronoLocalDate>
}
/**
* 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.
* <p>
* This subtracts the specified period in weeks to the date.
* In some cases, subtracting weeks can cause the resulting date to become invalid.

View File

@ -131,7 +131,6 @@ public interface ChronoLocalDateTime<D extends ChronoLocalDate>
* 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<D extends ChronoLocalDate>
* what the result of this method will be.
* <p>
* 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 <R> the type of the result

View File

@ -132,7 +132,6 @@ public interface ChronoZonedDateTime<D extends ChronoLocalDate>
* 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<D extends ChronoLocalDate>
* <p>
* 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<D extends ChronoLocalDate>
ChronoZonedDateTime<D> 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.
* <p>
* This method changes the time-zone and retains the local date-time.
@ -470,7 +469,7 @@ public interface ChronoZonedDateTime<D extends ChronoLocalDate>
* what the result of this method will be.
* <p>
* 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 <R> the type of the result

View File

@ -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.
* <p>
* 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<Chronology> {
* If the specified temporal object does not have a chronology, {@link IsoChronology} is returned.
* <p>
* 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<Chronology> {
* 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<Chronology> {
* 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

View File

@ -182,7 +182,7 @@ public interface Era extends TemporalAccessor, TemporalAdjuster {
/**
* Gets the value of the specified field from this era as an {@code int}.
* <p>
* 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}.
* <p>
* 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.
* <p>

View File

@ -394,7 +394,7 @@ public final class HijrahChronology extends AbstractChronology implements Serial
* Gets the ID of the chronology.
* <p>
* 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
* <p>
* The calendar type is an identifier defined by the
* <em>Unicode Locale Data Markup Language (LDML)</em> 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

View File

@ -143,7 +143,7 @@ public final class IsoChronology extends AbstractChronology implements Serializa
* Gets the ID of the chronology - 'ISO'.
* <p>
* 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
* <p>
* The calendar type is an identifier defined by the
* <em>Unicode Locale Data Markup Language (LDML)</em> 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'.
*

View File

@ -150,7 +150,7 @@ public final class JapaneseChronology extends AbstractChronology implements Seri
* Gets the ID of the chronology - 'Japanese'.
* <p>
* 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
* <p>
* The calendar type is an identifier defined by the
* <em>Unicode Locale Data Markup Language (LDML)</em> 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'.
*

View File

@ -132,7 +132,7 @@ public final class MinguoChronology extends AbstractChronology implements Serial
* Gets the ID of the chronology - 'Minguo'.
* <p>
* 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
* <p>
* The calendar type is an identifier defined by the
* <em>Unicode Locale Data Markup Language (LDML)</em> 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'.
*

View File

@ -168,7 +168,7 @@ public final class ThaiBuddhistChronology extends AbstractChronology implements
* Gets the ID of the chronology - 'ThaiBuddhist'.
* <p>
* 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
* <p>
* The calendar type is an identifier defined by the
* <em>Unicode Locale Data Markup Language (LDML)</em> 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'.
*

View File

@ -117,7 +117,7 @@ import java.util.Set;
* {@code parse(CharSequence text, DateTimeFormatter formatter)}.
* <p>For example:
* <blockquote><pre>
* String text = date.toString(formatter);
* String text = date.format(formatter);
* LocalDate date = LocalDate.parse(text, formatter);
* </pre></blockquote>
* <p>
@ -266,7 +266,7 @@ import java.util.Set;
* For example:
* <blockquote><pre>
* DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy MM dd");
* String text = date.toString(formatter);
* String text = date.format(formatter);
* LocalDate date = LocalDate.parse(text, formatter);
* </pre></blockquote>
* <p>
@ -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.
* <p>
* If the formatter parses the same field more than once with different values,
* the result will be an error.

View File

@ -137,7 +137,6 @@ import sun.util.locale.provider.TimeZoneNameUtility;
* <li>ChronologyText - the name of the chronology</li>
* <li>Literal - a text literal</li>
* <li>Nested and Optional - formats can be nested or made optional</li>
* <li>Other - the printer and parser interfaces can be used to add user supplied formatting</li>
* </ul>
* In addition, any of the elements may be decorated by padding, either with spaces or any other character.
* <p>
@ -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:
* <pre>
* Map&lt;Long, String&gt; map = new HashMap&lt;&gt;();
* 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);
* </pre>
@ -841,7 +840,7 @@ public final class DateTimeFormatterBuilder {
* <p>
* 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.
* <p>
* 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.
* <p>
* 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")
* </pre>
* <p>
* 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")
* </pre>
* <p>
* 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.
*
* <p>
* 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 {
* <p>
* 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 {
* <p>
* 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.
*

View File

@ -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

View File

@ -638,7 +638,7 @@ public final class IsoFields {
//-----------------------------------------------------------------------
/**
* Implementation of the period unit.
* Implementation of the unit.
*/
private static enum Unit implements TemporalUnit {

View File

@ -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 {
* </pre>
*
* @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)}.
* <p>
* 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.
* <p>
* There are two equivalent ways of using this method.

View File

@ -180,7 +180,7 @@ public interface TemporalAccessor {
/**
* Gets the value of the specified field as an {@code int}.
* <p>
* 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}.
* <p>
* 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.

View File

@ -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.
* <p>
* 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.
* <p>
* There are two equivalent ways of using this method.
* The first is to invoke this method directly.

View File

@ -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 extends Temporal> R addTo(R temporal, long amount);

View File

@ -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.
* <p>
* 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'.
* <p>
@ -334,7 +334,7 @@ public final class ZoneOffsetTransition
/**
* Does this transition represent a gap in the local time-line.
* <p>
* 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'.
*

View File

@ -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 {
* <pre> {@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
* }
* }}</pre>
*
* @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);
}
}

View File

@ -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
* <em>not</em> fail-fast.
* The Enumerations returned by Hashtable's {@link #keys keys} and
* {@link #elements elements} methods are <em>not</em> fail-fast; if the
* Hashtable is structurally modified at any time after the enumeration is
* created then the results of enumerating are undefined.
*
* <p>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 <K> the type of keys maintained by this map
* @param <V> the type of mapped values
*
* @author Arthur van Hoff
* @author Josh Bloch
* @author Neal Gafter
@ -246,6 +250,9 @@ public class Hashtable<K,V>
/**
* 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<K,V>
/**
* 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<K,V>
}
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<K,V>
Entry<K,V> e = (Entry<K,V>) tab[index];
tab[index] = new Entry<>(hash, key, value, e);
count++;
modCount++;
}
/**
@ -494,12 +501,12 @@ public class Hashtable<K,V>
Entry<K,V> e = (Entry<K,V>)tab[index];
for(Entry<K,V> 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<K,V>
*/
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<K,V>
Entry<K,V> e = (Entry<K,V>)tab[index];
for(Entry<K,V> 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<K,V>
Entry<K,V> e = (Entry<K,V>)tab[index];
for (Entry<K,V> 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<K,V>
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<K,V>
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<K,V>
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<K,V>
* by passing an Enumeration.
*/
private class Enumerator<T> implements Enumeration<T>, Iterator<T> {
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<K,V>
}
public T next() {
if (modCount != expectedModCount)
if (Hashtable.this.modCount != expectedModCount)
throw new ConcurrentModificationException();
return nextElement();
}
@ -1381,14 +1388,14 @@ public class Hashtable<K,V>
Entry<K,V> e = (Entry<K,V>)tab[index];
for(Entry<K,V> 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;
}
}

View File

@ -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 <em>not</em> fail-fast.
* the {@link #elements() elements} method are <em>not</em> fail-fast; if the
* Vector is structurally modified at any time after the enumeration is
* created then the results of enumerating are undefined.
*
* <p>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 <E> Type of component elements
*
* @author Lee Boynton
* @author Jonathan Payne
* @see Collection
@ -330,7 +334,9 @@ public class Vector<E>
* 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<E>
* ({@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<E>
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<E>
* ({@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<E>
ensureCapacityHelper(elementCount + 1);
System.arraycopy(elementData, index, elementData, index + 1, elementCount - index);
elementData[index] = obj;
modCount++;
elementCount++;
}
@ -616,8 +622,8 @@ public class Vector<E>
* @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<E>
* 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<E>
* of the Vector <em>only</em> if the caller knows that the Vector
* does not contain any null elements.)
*
* @param <T> type of array elements. The same type as {@code <E>} or a
* supertype of {@code <E>}.
* @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 <T>}, is not
* a supertype of the runtime type, {@code <E>}, of every element in this
* Vector
* @throws NullPointerException if the given array is null
* @since 1.2
*/
@ -778,8 +787,8 @@ public class Vector<E>
* @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<E>
* @throws NullPointerException if the specified collection is null
* @since 1.2
*/
public synchronized boolean addAll(Collection<? extends E> c) {
modCount++;
public boolean addAll(Collection<? extends E> 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<E>
* @since 1.2
*/
public synchronized boolean addAll(int index, Collection<? extends E> 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<E>
* (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<E>
}
public long estimateSize() {
return (long) (getFence() - index);
return getFence() - index;
}
public int characteristics() {

View File

@ -278,17 +278,61 @@ final class SortedOps {
}
}
/**
* Abstract {@link Sink} for implementing sort on reference streams.
*
* <p>
* Note: documentation below applies to reference and all primitive sinks.
* <p>
* 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.
* <p>
* 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<T> extends Sink.ChainedReference<T, T> {
protected final Comparator<? super T> comparator;
// @@@ could be a lazy final value, if/when support is added
protected boolean cancellationWasRequested;
AbstractRefSortingSink(Sink<? super T> downstream, Comparator<? super T> 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<T> extends Sink.ChainedReference<T, T> {
private final Comparator<? super T> comparator;
private static final class SizedRefSortingSink<T> extends AbstractRefSortingSink<T> {
private T[] array;
private int offset;
SizedRefSortingSink(Sink<? super T> sink, Comparator<? super T> 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<T> extends Sink.ChainedReference<T, T> {
private final Comparator<? super T> comparator;
private static final class RefSortingSink<T> extends AbstractRefSortingSink<T> {
private ArrayList<T> list;
RefSortingSink(Sink<? super T> sink, Comparator<? super T> 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<Integer> {
protected boolean cancellationWasRequested;
AbstractIntSortingSink(Sink<? super Integer> 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<Integer> {
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<Integer> {
private static final class IntSortingSink extends AbstractIntSortingSink {
private SpinedBuffer.OfInt b;
IntSortingSink(Sink<? super Integer> 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<Long> {
protected boolean cancellationWasRequested;
AbstractLongSortingSink(Sink<? super Long> 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<Long> {
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<Long> {
private static final class LongSortingSink extends AbstractLongSortingSink {
private SpinedBuffer.OfLong b;
LongSortingSink(Sink<? super Long> 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<Double> {
protected boolean cancellationWasRequested;
AbstractDoubleSortingSink(Sink<? super Double> 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<Double> {
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<Double> {
private static final class DoubleSortingSink extends AbstractDoubleSortingSink {
private SpinedBuffer.OfDouble b;
DoubleSortingSink(Sink<? super Double> 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();
}

View File

@ -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

View File

@ -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
############################################################################

View File

@ -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() {

View File

@ -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<Integer> l = Arrays.asList(5, 4, 3, 2, 1);
Function<Integer, Stream<Integer>> knownSize = i -> assertNCallsOnly(
l.stream().sorted(), Stream::peek, i);
Function<Integer, Stream<Integer>> 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 <T> Stream<T> unknownSizeStream(List<T> l) {
@ -199,19 +211,24 @@ public class SortedOpTest extends OpTestCase {
public void testIntSequentialShortCircuitTerminal() {
int[] a = new int[]{5, 4, 3, 2, 1};
Function<Integer, IntStream> knownSize = i -> assertNCallsOnly(
Arrays.stream(a).sorted(), (s, c) -> s.peek(c::accept), i);
Function<Integer, IntStream> 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<Integer, LongStream> knownSize = i -> assertNCallsOnly(
Arrays.stream(a).sorted(), (s, c) -> s.peek(c::accept), i);
Function<Integer, LongStream> 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<Integer, DoubleStream> knownSize = i -> assertNCallsOnly(
Arrays.stream(a).sorted(), (s, c) -> s.peek(c::accept), i);
Function<Integer, DoubleStream> 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.
*/
<T, S extends BaseStream<T, S>, R> S assertNCallsOnly(S s, BiFunction<S, Consumer<T>, 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)");
});
}
}

View File

@ -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 "