8220249: fix headings in java.compiler

Reviewed-by: erikj, darcy
This commit is contained in:
Jonathan Gibbons 2019-03-20 15:35:26 -07:00
parent 7bb74f80da
commit 2df0f4b4dd
52 changed files with 250 additions and 250 deletions

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1996, 2019, 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
@ -97,7 +97,7 @@ import sun.util.spi.CalendarProvider;
* concrete subclass, such as <code>ERA</code>. See individual field
* documentation and subclass documentation for details.
*
* <h3>Getting and Setting Calendar Field Values</h3>
* <h2>Getting and Setting Calendar Field Values</h2>
*
* <p>The calendar field values can be set by calling the <code>set</code>
* methods. Any field values set in a <code>Calendar</code> will not be
@ -106,7 +106,7 @@ import sun.util.spi.CalendarProvider;
* <code>get</code>, <code>getTimeInMillis</code>, <code>getTime</code>,
* <code>add</code> and <code>roll</code> involves such calculation.
*
* <h4>Leniency</h4>
* <h3>Leniency</h3>
*
* <p><code>Calendar</code> has two modes for interpreting the calendar
* fields, <em>lenient</em> and <em>non-lenient</em>. When a
@ -125,7 +125,7 @@ import sun.util.spi.CalendarProvider;
* calculating its time or calendar field values if any out-of-range field
* value has been set.
*
* <h4><a id="first_week">First Week</a></h4>
* <h3><a id="first_week">First Week</a></h3>
*
* <code>Calendar</code> defines a locale-specific seven day week using two
* parameters: the first day of the week and the minimal days in first week
@ -150,7 +150,7 @@ import sun.util.spi.CalendarProvider;
* designate the week before week 1 of a year as week <code><i>n</i></code> of
* the previous year.
*
* <h4>Calendar Fields Resolution</h4>
* <h3>Calendar Fields Resolution</h3>
*
* When computing a date and time from the calendar fields, there
* may be insufficient information for the computation (such as only
@ -210,7 +210,7 @@ import sun.util.spi.CalendarProvider;
* runtime. Use {@link DateFormat}
* to format dates.
*
* <h4>Field Manipulation</h4>
* <h3>Field Manipulation</h3>
*
* The calendar fields can be changed using three methods:
* <code>set()</code>, <code>add()</code>, and <code>roll()</code>.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2019, 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
@ -140,7 +140,7 @@ import sun.util.locale.provider.ResourceBundleBasedAdapter;
* // -&gt; s == "Duke's Birthday: May 23, 1995"
* </pre></blockquote>
*
* <h3><a id="org">Organization</a></h3>
* <h2><a id="org">Organization</a></h2>
*
* <p> This specification is divided into two sections. The first section, <a
* href="#summary">Summary</a>, covers the basic formatting concepts. This
@ -150,13 +150,13 @@ import sun.util.locale.provider.ResourceBundleBasedAdapter;
* details. It is intended for users who want more precise specification of
* formatting behavior.
*
* <h3><a id="summary">Summary</a></h3>
* <h2><a id="summary">Summary</a></h2>
*
* <p> This section is intended to provide a brief overview of formatting
* concepts. For precise behavioral details, refer to the <a
* href="#detail">Details</a> section.
*
* <h4><a id="syntax">Format String Syntax</a></h4>
* <h3><a id="syntax">Format String Syntax</a></h3>
*
* <p> Every method which produces formatted output requires a <i>format
* string</i> and an <i>argument list</i>. The format string is a {@link
@ -236,7 +236,7 @@ import sun.util.locale.provider.ResourceBundleBasedAdapter;
*
* </ul>
*
* <h4> Conversions </h4>
* <h3> Conversions </h3>
*
* <p> Conversions are divided into the following categories:
*
@ -376,7 +376,7 @@ import sun.util.locale.provider.ResourceBundleBasedAdapter;
* <p> Any characters not explicitly defined as conversions are illegal and are
* reserved for future extensions.
*
* <h4><a id="dt">Date/Time Conversions</a></h4>
* <h3><a id="dt">Date/Time Conversions</a></h3>
*
* <p> The following date and time conversion suffix characters are defined for
* the {@code 't'} and {@code 'T'} conversions. The types are similar to but
@ -550,7 +550,7 @@ import sun.util.locale.provider.ResourceBundleBasedAdapter;
* <p> Any characters not explicitly defined as date/time conversion suffixes
* are illegal and are reserved for future extensions.
*
* <h4> Flags </h4>
* <h3> Flags </h3>
*
* <p> The following table summarizes the supported flags. <i>y</i> means the
* flag is supported for the indicated argument types.
@ -636,13 +636,13 @@ import sun.util.locale.provider.ResourceBundleBasedAdapter;
* <p> Any characters not explicitly defined as flags are illegal and are
* reserved for future extensions.
*
* <h4> Width </h4>
* <h3> Width </h3>
*
* <p> The width is the minimum number of characters to be written to the
* output. For the line separator conversion, width is not applicable; if it
* is provided, an exception will be thrown.
*
* <h4> Precision </h4>
* <h3> Precision </h3>
*
* <p> For general argument types, the precision is the maximum number of
* characters to be written to the output.
@ -657,7 +657,7 @@ import sun.util.locale.provider.ResourceBundleBasedAdapter;
* and line separator conversions, the precision is not applicable; if a
* precision is provided, an exception will be thrown.
*
* <h4> Argument Index </h4>
* <h3> Argument Index </h3>
*
* <p> The argument index is a decimal integer indicating the position of the
* argument in the argument list. The first argument is referenced by
@ -676,7 +676,7 @@ import sun.util.locale.provider.ResourceBundleBasedAdapter;
* </pre></blockquote>
*
* <hr>
* <h3><a id="detail">Details</a></h3>
* <h2><a id="detail">Details</a></h2>
*
* <p> This section is intended to provide behavioral details for formatting,
* including conditions and exceptions, supported data types, localization, and
@ -717,7 +717,7 @@ import sun.util.locale.provider.ResourceBundleBasedAdapter;
* invocation, then the {@link java.util.Locale.Category#FORMAT default locale}
* is used.
*
* <h4><a id="dgen">General</a></h4>
* <h3><a id="dgen">General</a></h3>
*
* <p> The following general conversions may be applied to any argument type:
*
@ -814,7 +814,7 @@ import sun.util.locale.provider.ResourceBundleBasedAdapter;
* the precision. If the precision is not specified then there is no explicit
* limit on the number of characters.
*
* <h4><a id="dchar">Character</a></h4>
* <h3><a id="dchar">Character</a></h3>
*
* This conversion may be applied to {@code char} and {@link Character}. It
* may also be applied to the types {@code byte}, {@link Byte},
@ -853,7 +853,7 @@ import sun.util.locale.provider.ResourceBundleBasedAdapter;
* <p> The precision is not applicable. If the precision is specified then an
* {@link IllegalFormatPrecisionException} will be thrown.
*
* <h4><a id="dnum">Numeric</a></h4>
* <h3><a id="dnum">Numeric</a></h3>
*
* <p> Numeric conversions are divided into the following categories:
*
@ -1547,7 +1547,7 @@ import sun.util.locale.provider.ResourceBundleBasedAdapter;
* href="#floatDPrec">precision</a> is the same as defined for Float and
* Double.
*
* <h4><a id="ddt">Date/Time</a></h4>
* <h3><a id="ddt">Date/Time</a></h3>
*
* <p> This conversion may be applied to {@code long}, {@link Long}, {@link
* Calendar}, {@link Date} and {@link TemporalAccessor TemporalAccessor}
@ -1796,7 +1796,7 @@ import sun.util.locale.provider.ResourceBundleBasedAdapter;
* <p> The precision is not applicable. If the precision is specified then an
* {@link IllegalFormatPrecisionException} will be thrown.
*
* <h4><a id="dper">Percent</a></h4>
* <h3><a id="dper">Percent</a></h3>
*
* <p> The conversion does not correspond to any argument.
*
@ -1824,7 +1824,7 @@ import sun.util.locale.provider.ResourceBundleBasedAdapter;
* </tbody>
* </table>
*
* <h4><a id="dls">Line Separator</a></h4>
* <h3><a id="dls">Line Separator</a></h3>
*
* <p> The conversion does not correspond to any argument.
*
@ -1843,7 +1843,7 @@ import sun.util.locale.provider.ResourceBundleBasedAdapter;
* {@link IllegalFormatFlagsException}, {@link IllegalFormatWidthException},
* and {@link IllegalFormatPrecisionException}, respectively will be thrown.
*
* <h4><a id="dpos">Argument Index</a></h4>
* <h3><a id="dpos">Argument Index</a></h3>
*
* <p> Format specifiers can reference arguments in three ways:
*

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 1996, 2017, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1996, 2019, 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
@ -91,7 +91,7 @@ import sun.util.calendar.ZoneInfo;
* adjustment may be made if desired for dates that are prior to the Gregorian
* changeover and which fall between January 1 and March 24.
*
* <h3><a id="week_and_year">Week Of Year and Week Year</a></h3>
* <h2><a id="week_and_year">Week Of Year and Week Year</a></h2>
*
* <p>Values calculated for the {@link Calendar#WEEK_OF_YEAR
* WEEK_OF_YEAR} field range from 1 to 53. The first week of a
@ -133,7 +133,7 @@ import sun.util.calendar.ZoneInfo;
* ends on January 10, 1998; the first three days of 1998 then are
* part of week 53 of 1997 and their week year is 1997.
*
* <h4>Week Of Month</h4>
* <h3>Week Of Month</h3>
*
* <p>Values calculated for the <code>WEEK_OF_MONTH</code> field range from 0
* to 6. Week 1 of a month (the days with <code>WEEK_OF_MONTH =
@ -153,7 +153,7 @@ import sun.util.calendar.ZoneInfo;
* <code>getMinimalDaysInFirstWeek()</code> is changed to 3, then January 1
* through January 3 have a <code>WEEK_OF_MONTH</code> of 1.
*
* <h4>Default Fields Values</h4>
* <h3>Default Fields Values</h3>
*
* <p>The <code>clear</code> method sets calendar field(s)
* undefined. <code>GregorianCalendar</code> uses the following

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1996, 2019, 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
@ -190,7 +190,7 @@ import sun.util.locale.provider.TimeZoneNameUtility;
* requirement (is well-formed), but does not validate the value
* itself. See {@link Builder} for details.
*
* <h3><a id="def_locale_extension">Unicode locale/language extension</a></h3>
* <h2><a id="def_locale_extension">Unicode locale/language extension</a></h2>
*
* <p>UTS#35, "Unicode Locale Data Markup Language" defines optional
* attributes and keywords to override or refine the default behavior
@ -230,17 +230,17 @@ import sun.util.locale.provider.TimeZoneNameUtility;
* implementations in a Java Runtime Environment might not support any
* particular Unicode locale attributes or key/type pairs.
*
* <h4>Creating a Locale</h4>
* <h3>Creating a Locale</h3>
*
* <p>There are several different ways to create a <code>Locale</code>
* object.
*
* <h5>Builder</h5>
* <h4>Builder</h4>
*
* <p>Using {@link Builder} you can construct a <code>Locale</code> object
* that conforms to BCP 47 syntax.
*
* <h5>Constructors</h5>
* <h4>Constructors</h4>
*
* <p>The <code>Locale</code> class provides three constructors:
* <blockquote>
@ -254,12 +254,12 @@ import sun.util.locale.provider.TimeZoneNameUtility;
* with language, country and variant, but you cannot specify
* script or extensions.
*
* <h5>Factory Methods</h5>
* <h4>Factory Methods</h4>
*
* <p>The method {@link #forLanguageTag} creates a <code>Locale</code>
* object for a well-formed BCP 47 language tag.
*
* <h5>Locale Constants</h5>
* <h4>Locale Constants</h4>
*
* <p>The <code>Locale</code> class provides a number of convenient constants
* that you can use to create <code>Locale</code> objects for commonly used
@ -271,7 +271,7 @@ import sun.util.locale.provider.TimeZoneNameUtility;
* </pre>
* </blockquote>
*
* <h4><a id="LocaleMatching">Locale Matching</a></h4>
* <h3><a id="LocaleMatching">Locale Matching</a></h3>
*
* <p>If an application or a system is internationalized and provides localized
* resources for multiple locales, it sometimes needs to find one or more
@ -292,7 +292,7 @@ import sun.util.locale.provider.TimeZoneNameUtility;
* language ranges: basic and extended. See
* {@link Locale.LanguageRange Locale.LanguageRange} for details.
*
* <h5>Filtering</h5>
* <h4>Filtering</h4>
*
* <p>The filtering operation returns all matching language tags. It is defined
* in RFC 4647 as follows:
@ -310,7 +310,7 @@ import sun.util.locale.provider.TimeZoneNameUtility;
* {@link Locale.FilteringMode} is a parameter to specify how filtering should
* be done.
*
* <h5>Lookup</h5>
* <h4>Lookup</h4>
*
* <p>The lookup operation returns the best matching language tags. It is
* defined in RFC 4647 as follows:
@ -342,7 +342,7 @@ import sun.util.locale.provider.TimeZoneNameUtility;
* an {@link Iterator} over a {@link Collection} of language tags is treated as
* the best matching one.
*
* <h4>Use of Locale</h4>
* <h3>Use of Locale</h3>
*
* <p>Once you've created a <code>Locale</code> you can query it for information
* about itself. Use <code>getCountry</code> to get the country (or region)
@ -385,7 +385,7 @@ import sun.util.locale.provider.TimeZoneNameUtility;
* <STRONG>just</STRONG> a mechanism for identifying objects,
* <STRONG>not</STRONG> a container for the objects themselves.
*
* <h4>Compatibility</h4>
* <h3>Compatibility</h3>
*
* <p>In order to maintain compatibility with existing usage, Locale's
* constructors retain their behavior prior to the Java Runtime
@ -410,7 +410,7 @@ import sun.util.locale.provider.TimeZoneNameUtility;
* Clients desiring a string representation of the complete locale can
* then always rely on <code>toLanguageTag</code> for this purpose.
*
* <h5><a id="special_cases_constructor">Special cases</a></h5>
* <h4><a id="special_cases_constructor">Special cases</a></h4>
*
* <p>For compatibility reasons, two
* non-conforming locales are treated as special cases. These are
@ -435,7 +435,7 @@ import sun.util.locale.provider.TimeZoneNameUtility;
* constructor is called with the arguments "th", "TH", "TH", the
* extension "u-nu-thai" is automatically added.
*
* <h5>Serialization</h5>
* <h4>Serialization</h4>
*
* <p>During serialization, writeObject writes all fields to the output
* stream, including extensions.
@ -444,7 +444,7 @@ import sun.util.locale.provider.TimeZoneNameUtility;
* in <a href="#special_cases_constructor">Special Cases</a>, only
* for the two cases th_TH_TH and ja_JP_JP.
*
* <h5>Legacy language codes</h5>
* <h4>Legacy language codes</h4>
*
* <p>Locale's constructor has always converted three language codes to
* their earlier, obsoleted forms: {@code he} maps to {@code iw},
@ -462,7 +462,7 @@ import sun.util.locale.provider.TimeZoneNameUtility;
* lookup mechanism also implements this mapping, so that resources
* can be named using either convention, see {@link ResourceBundle.Control}.
*
* <h5>Three-letter language/country(region) codes</h5>
* <h4>Three-letter language/country(region) codes</h4>
*
* <p>The Locale constructors have always specified that the language
* and the country param be two characters in length, although in

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1996, 2019, 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
@ -204,18 +204,18 @@ import static sun.security.util.SecurityConstants.GET_CLASSLOADER_PERMISSION;
* known concrete subclasses {@code ListResourceBundle} and
* {@code PropertyResourceBundle} are thread-safe.
*
* <h3><a id="resource-bundle-modules">Resource Bundles and Named Modules</a></h3>
* <h2><a id="resource-bundle-modules">Resource Bundles and Named Modules</a></h2>
*
* Resource bundles can be deployed in modules in the following ways:
*
* <h4>Resource bundles together with an application</h4>
* <h3>Resource bundles together with an application</h3>
*
* Resource bundles can be deployed together with an application in the same
* module. In that case, the resource bundles are loaded
* by code in the module by calling the {@link #getBundle(String)}
* or {@link #getBundle(String, Locale)} method.
*
* <h4><a id="service-providers">Resource bundles as service providers</a></h4>
* <h3><a id="service-providers">Resource bundles as service providers</a></h3>
*
* Resource bundles can be deployed in one or more <em>service provider modules</em>
* and they can be located using {@link ServiceLoader}.
@ -232,7 +232,7 @@ import static sun.security.util.SecurityConstants.GET_CLASSLOADER_PERMISSION;
* provide resource bundles in any format such XML which replaces the need
* of {@link Control ResourceBundle.Control}.
*
* <h4><a id="other-modules">Resource bundles in other modules and class path</a></h4>
* <h3><a id="other-modules">Resource bundles in other modules and class path</a></h3>
*
* Resource bundles in a named module may be <em>encapsulated</em> so that
* it cannot be located by code in other modules. Resource bundles
@ -255,7 +255,7 @@ import static sun.security.util.SecurityConstants.GET_CLASSLOADER_PERMISSION;
* resource bundle provider</a>, it does not fall back to the
* class loader search.
*
* <h4>Resource bundles in automatic modules</h4>
* <h3>Resource bundles in automatic modules</h3>
*
* A common format of resource bundles is in {@linkplain PropertyResourceBundle
* .properties} file format. Typically {@code .properties} resource bundles
@ -300,7 +300,7 @@ import static sun.security.util.SecurityConstants.GET_CLASSLOADER_PERMISSION;
* the first one returned from {@link ServiceLoader} will be used.
* A custom {@link Control} implementation is ignored by named modules.
*
* <h3>Cache Management</h3>
* <h2>Cache Management</h2>
*
* Resource bundle instances created by the <code>getBundle</code> factory
* methods are cached by default, and the factory methods return the same
@ -316,7 +316,7 @@ import static sun.security.util.SecurityConstants.GET_CLASSLOADER_PERMISSION;
* Control#needsReload(String, Locale, String, ClassLoader, ResourceBundle,
* long) ResourceBundle.Control.needsReload} for details.
*
* <h3>Example</h3>
* <h2>Example</h2>
*
* The following is a very simple example of a <code>ResourceBundle</code>
* subclass, <code>MyResources</code>, that manages two resources (for a larger number of

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2019, 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
@ -155,7 +155,7 @@ import sun.util.locale.provider.ResourceBundleBasedAdapter;
* {@link #reset} method will reset the value of the scanner's radix to
* {@code 10} regardless of whether it was previously changed.
*
* <h3> <a id="localized-numbers">Localized numbers</a> </h3>
* <h2> <a id="localized-numbers">Localized numbers</a> </h2>
*
* <p> An instance of this class is capable of scanning numbers in the standard
* formats as well as in the formats of the scanner's locale. A scanner's
@ -216,7 +216,7 @@ import sun.util.locale.provider.ResourceBundleBasedAdapter;
* getInfinity()}
* </dl></blockquote>
*
* <h4> <a id="number-syntax">Number syntax</a> </h4>
* <h3> <a id="number-syntax">Number syntax</a> </h3>
*
* <p> The strings that can be parsed as numbers by an instance of this class
* are specified in terms of the following regular-expression grammar, where

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2005, 2019, 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
@ -69,7 +69,7 @@ import jdk.internal.reflect.Reflection;
* service providers (based on the functionality they expose through the service),
* and handling the possibility that no service providers are located.
*
* <h3> Obtaining a service loader </h3>
* <h2> Obtaining a service loader </h2>
*
* <p> An application obtains a service loader for a given service by invoking
* one of the static {@code load} methods of {@code ServiceLoader}. If the
@ -141,7 +141,7 @@ import jdk.internal.reflect.Reflection;
* <li> {@code get()} yields an instance of {@code CodecFactory} </li>
* </ol>
*
* <h3> Designing services </h3>
* <h2> Designing services </h2>
*
* <p> A service is a single type, usually an interface or abstract class. A
* concrete class can be used, but this is not recommended. The type may have
@ -167,7 +167,7 @@ import jdk.internal.reflect.Reflection;
* or complicated to produce certain codecs. </p></li>
* </ol>
*
* <h3> <a id="developing-service-providers">Developing service providers</a> </h3>
* <h2> <a id="developing-service-providers">Developing service providers</a> </h2>
*
* <p> A service provider is a single type, usually a concrete class. An
* interface or abstract class is permitted because it may declare a static
@ -188,7 +188,7 @@ import jdk.internal.reflect.Reflection;
* the service loader's stream, without knowledge of the service providers'
* locations.
*
* <h3> Deploying service providers as modules </h3>
* <h2> Deploying service providers as modules </h2>
*
* <p> A service provider that is developed in a module must be specified in a
* <i>provides</i> directive in the module declaration. The provides directive
@ -253,7 +253,7 @@ import jdk.internal.reflect.Reflection;
* the service provider) will be instantiated by an entity (that is, a service
* loader) which is outside the class's package.
*
* <h3> Deploying service providers on the class path </h3>
* <h2> Deploying service providers on the class path </h2>
*
* A service provider that is packaged as a JAR file for the class path is
* identified by placing a <i>provider-configuration file</i> in the resource
@ -293,7 +293,7 @@ import jdk.internal.reflect.Reflection;
* not necessarily the class loader which ultimately locates the
* provider-configuration file.
*
* <h3> Timing of provider discovery </h3>
* <h2> Timing of provider discovery </h2>
*
* <p> Service providers are loaded and instantiated lazily, that is, on demand.
* A service loader maintains a cache of the providers that have been loaded so
@ -306,7 +306,7 @@ import jdk.internal.reflect.Reflection;
* locates any remaining providers. Caches are cleared via the {@link #reload
* reload} method.
*
* <h3> <a id="errors">Errors</a> </h3>
* <h2> <a id="errors">Errors</a> </h2>
*
* <p> When using the service loader's {@code iterator}, the {@link
* Iterator#hasNext() hasNext} and {@link Iterator#next() next} methods will
@ -361,7 +361,7 @@ import jdk.internal.reflect.Reflection;
*
* </ul>
*
* <h3> Security </h3>
* <h2> Security </h2>
*
* <p> Service loaders always execute in the security context of the caller
* of the iterator or stream methods and may also be restricted by the security
@ -370,7 +370,7 @@ import jdk.internal.reflect.Reflection;
* the methods of the iterators which they return, from within a privileged
* security context.
*
* <h3> Concurrency </h3>
* <h2> Concurrency </h2>
*
* <p> Instances of this class are not safe for use by multiple concurrent
* threads.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1996, 2019, 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
@ -114,7 +114,7 @@ import sun.util.locale.provider.TimeZoneNameUtility;
* </pre></blockquote>
* For example, TimeZone.getTimeZone("GMT-8").getID() returns "GMT-08:00".
*
* <h3>Three-letter time zone IDs</h3>
* <h2>Three-letter time zone IDs</h2>
*
* For compatibility with JDK 1.1.x, some other three-letter time zone IDs
* (such as "PST", "CTT", "AST") are also supported. However, <strong>their

View file

@ -1,6 +1,6 @@
<!DOCTYPE html>
<!--
Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
Copyright (c) 1998, 2019, 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
@ -29,14 +29,14 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<h2>Java Collections API Design FAQ</h2>
<h1>Java Collections API Design FAQ</h1>
<!-- Body text begins here -->
<hr>
This document answers frequently asked questions concerning the
design of the Java collections framework. It is derived from the
large volume of traffic on the collections-comments alias. It
serves as a design rationale for the collections framework.
<h3>Core Interfaces - General Questions</h3>
<h2>Core Interfaces - General Questions</h2>
<ol>
<li><a href="#a1"><b>Why don't you support immutability directly in
the core collection interfaces so that you can do away with
@ -50,7 +50,7 @@ throw an UnsupportedOperationException?</b></a></li>
<li><a href="#a28"><b>Why didn't you use "Beans-style names" for
consistency?</b></a></li>
</ol>
<h3>Collection Interface</h3>
<h2>Collection Interface</h2>
<ol>
<li><a href="#a5"><b>Why doesn't Collection extend Cloneable and
Serializable?</b></a></li>
@ -67,7 +67,7 @@ JDK have Enumeration (or Iterator) constructors?</b></a></li>
<li><a href="#a10"><b>Why don't you provide an Iterator.add
method?</b></a></li>
</ol>
<h3>List Interface</h3>
<h2>List Interface</h2>
<ol>
<li><a href="#a11"><b>Why don't you rename the List interface to
Sequence; doesn't "list" generally suggest "linked list"? Also,
@ -75,12 +75,12 @@ doesn't it conflict with java.awt.List?</b></a></li>
<li><a href="#a12"><b>Why don't you rename List's set method to
replace, to avoid confusion with Set.</b></a></li>
</ol>
<h3>Map Interface</h3>
<h2>Map Interface</h2>
<ol>
<li><a href="#a14"><b>Why doesn't Map extend
Collection?</b></a></li>
</ol>
<h3>Iterator Interface</h3>
<h2>Iterator Interface</h2>
<ol>
<li><a href="#a18"><b>Why doesn't Iterator extend
Enumeration?</b></a></li>
@ -88,7 +88,7 @@ Enumeration?</b></a></li>
that allows you to look at the next element in an iteration without
advancing the iterator?</b></a></li>
</ol>
<h3>Miscellaneous</h3>
<h2>Miscellaneous</h2>
<ol>
<li><a href="#a23"><b>Why did you write a new collections framework
instead of adopting JGL (a preexisting collections package from
@ -102,7 +102,7 @@ collections that send out Events when they're
modified?</b></a></li>
</ol>
<hr>
<h3>Core Interfaces - General Questions</h3>
<h2>Core Interfaces - General Questions</h2>
<ol>
<li><a id="a1"><b>Why don't you support immutability
directly in the core collection interfaces so that you can do away
@ -204,7 +204,7 @@ case. Thus, we adopted the "traditional" JDK style rather than the
Beans style.</li>
</ol>
<hr>
<h3>Collection Interface</h3>
<h2>Collection Interface</h2>
<ol>
<li><a id="a5"><b>Why doesn't Collection extend Cloneable
and Serializable?</b></a>
@ -264,7 +264,7 @@ guarantee the order of the iteration.</p>
</li>
</ol>
<hr>
<h3>List Interface</h3>
<h2>List Interface</h2>
<ol>
<li><a id="a11"><b>Why don't you rename the List
interface to Sequence; doesn't "list" generally suggest "linked
@ -288,7 +288,7 @@ enough enshrined in the language that we'd stick with it.</p>
</li>
</ol>
<hr>
<h3>Map Interface</h3>
<h2>Map Interface</h2>
<ol>
<li><a id="a14"><b>Why doesn't Map extend
Collection?</b></a>
@ -314,7 +314,7 @@ Lists.</p>
</li>
</ol>
<hr>
<h3>Iterator Interface</h3>
<h2>Iterator Interface</h2>
<ol>
<li><a id="a18"><b>Why doesn't Iterator extend
Enumeration?</b></a>
@ -335,7 +335,7 @@ that everyone has to implement.</p>
</li>
</ol>
<hr>
<h3>Miscellaneous</h3>
<h2>Miscellaneous</h2>
<ol>
<li><a id="a23"><b>Why did you write a new collections
framework instead of adopting JGL (a preexisting collections

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1999, 2019, 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
@ -77,7 +77,7 @@ import java.util.stream.StreamSupport;
* such use.
*
*
* <h3><a id="sum">Summary of regular-expression constructs</a></h3>
* <h2><a id="sum">Summary of regular-expression constructs</a></h2>
*
* <table class="borderless">
* <caption style="display:none">Regular expression constructs, and what they match</caption>
@ -378,7 +378,7 @@ import java.util.stream.StreamSupport;
* <hr>
*
*
* <h3><a id="bs">Backslashes, escapes, and quoting</a></h3>
* <h2><a id="bs">Backslashes, escapes, and quoting</a></h2>
*
* <p> The backslash character ({@code '\'}) serves to introduce escaped
* constructs, as defined in the table above, as well as to quote characters
@ -406,7 +406,7 @@ import java.util.stream.StreamSupport;
* {@code (hello)} the string literal {@code "\\(hello\\)"}
* must be used.
*
* <h3><a id="cc">Character Classes</a></h3>
* <h2><a id="cc">Character Classes</a></h2>
*
* <p> Character classes may appear within other character classes, and
* may be composed by the union operator (implicit) and the intersection
@ -449,7 +449,7 @@ import java.util.stream.StreamSupport;
* character class, while the expression {@code -} becomes a range
* forming metacharacter.
*
* <h3><a id="lt">Line terminators</a></h3>
* <h2><a id="lt">Line terminators</a></h2>
*
* <p> A <i>line terminator</i> is a one- or two-character sequence that marks
* the end of a line of the input character sequence. The following are
@ -484,9 +484,9 @@ import java.util.stream.StreamSupport;
* except at the end of input. When in {@link #MULTILINE} mode {@code $}
* matches just before a line terminator or the end of the input sequence.
*
* <h3><a id="cg">Groups and capturing</a></h3>
* <h2><a id="cg">Groups and capturing</a></h2>
*
* <h4><a id="gnumber">Group number</a></h4>
* <h3><a id="gnumber">Group number</a></h3>
* <p> Capturing groups are numbered by counting their opening parentheses from
* left to right. In the expression {@code ((A)(B(C)))}, for example, there
* are four such groups: </p>
@ -505,7 +505,7 @@ import java.util.stream.StreamSupport;
* subsequence may be used later in the expression, via a back reference, and
* may also be retrieved from the matcher once the match operation is complete.
*
* <h4><a id="groupname">Group name</a></h4>
* <h3><a id="groupname">Group name</a></h3>
* <p>A capturing group can also be assigned a "name", a {@code named-capturing group},
* and then be back-referenced later by the "name". Group names are composed of
* the following characters. The first character must be a {@code letter}.
@ -534,7 +534,7 @@ import java.util.stream.StreamSupport;
* that do not capture text and do not count towards the group total, or
* <i>named-capturing</i> group.
*
* <h3> Unicode support </h3>
* <h2> Unicode support </h2>
*
* <p> This class is in conformance with Level 1 of <a
* href="http://www.unicode.org/reports/tr18/"><i>Unicode Technical
@ -688,7 +688,7 @@ import java.util.stream.StreamSupport;
* available through the same <code>\p{</code><i>prop</i><code>}</code> syntax where
* the specified property has the name <code>java<i>methodname</i></code></a>.
*
* <h3> Comparison to Perl 5 </h3>
* <h2> Comparison to Perl 5 </h2>
*
* <p>The {@code Pattern} engine performs traditional NFA-based matching
* with ordered alternation as occurs in Perl 5.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2005, 2019, 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
@ -42,7 +42,7 @@ import java.util.Locale;
* interfaces to offer support for locales beyond the set of locales
* supported by the Java runtime environment itself.
*
* <h3>Packaging of Locale Sensitive Service Provider Implementations</h3>
* <h2>Packaging of Locale Sensitive Service Provider Implementations</h2>
* Implementations of these locale sensitive services can be made available
* by adding them to the application's class path. A provider identifies itself with a
* provider-configuration file in the resource directory META-INF/services,
@ -75,7 +75,7 @@ import java.util.Locale;
* </pre>
* which is the fully qualified class name of the class implementing
* <code>DateFormatProvider</code>.
* <h4>Invocation of Locale Sensitive Services</h4>
* <h3>Invocation of Locale Sensitive Services</h3>
* <p>
* Locale sensitive factory methods and methods for name retrieval in the
* <code>java.text</code> and <code>java.util</code> packages invoke

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2015, 2019, 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
@ -35,7 +35,7 @@ import java.util.ResourceBundle;
* factory methods to locate and load the service providers that are deployed as
* modules via {@link java.util.ServiceLoader ServiceLoader}.
*
* <h3>Developing resource bundle services</h3>
* <h2>Developing resource bundle services</h2>
*
* A service for a resource bundle of a given <em>{@code baseName}</em> must have
* a fully-qualified class name of the form:
@ -55,7 +55,7 @@ import java.util.ResourceBundle;
* }
* }</pre></blockquote>
*
* <h3>Deploying resource bundle service providers</h3>
* <h2>Deploying resource bundle service providers</h2>
*
* Resource bundles can be deployed in one or more service providers
* in modules. For example, a provider for a service
@ -114,7 +114,7 @@ import java.util.ResourceBundle;
* provides com.example.app.spi.MyResourcesProvider with com.example.impl.MyResourcesProviderImpl;
* </pre>
*
* <h3><a id="obtain-resource-bundle">Obtaining resource bundles from providers</a></h3>
* <h2><a id="obtain-resource-bundle">Obtaining resource bundles from providers</a></h2>
*
* The module declaration of the <em>consumer module</em> that calls one of the
* {@code ResourceBundle.getBundle} factory methods to obtain a resource