More concise version:

--- a/src/java.base/share/classes/java/util/ResourceBundle.java
+++ b/src/java.base/share/classes/java/util/ResourceBundle.java
@@ -972,7 +972,9 @@
* equivalent to calling {@link #getBundle(String, Locale, ClassLoader)
      * getBundle(baseName, targetLocale, module.getClassLoader()} to load
      * resource bundles that are visible to the class loader of the given
-     * unnamed module.
+     * unnamed module. Custom {@link * ResourceBundleControlProvider}
+     * implementations, if present, will only be invoked if the specified
+     * module is an unnamed module.
      *
      * @param baseName the base name of the resource bundle,
      *                 a fully qualified class name

Naoto

On 01/23/2017 01:51 PM, Naoto Sato wrote:
OK, I will clarify the method description of getBundle(String, Locale,
Module) as follows:

diff -r 290145dc2c96
src/java.base/share/classes/java/util/ResourceBundle.java
--- a/src/java.base/share/classes/java/util/ResourceBundle.java
+++ b/src/java.base/share/classes/java/util/ResourceBundle.java
@@ -972,7 +972,11 @@
      * equivalent to calling {@link #getBundle(String, Locale,
ClassLoader)
      * getBundle(baseName, targetLocale, module.getClassLoader()} to load
      * resource bundles that are visible to the class loader of the given
-     * unnamed module.
+     * unnamed module. The <a href="#default_behavior">default
behavior</a>
+     * of resource bundle loading can be modified with custom {@link
+     * ResourceBundleControlProvider} implementations. Refer to the
+     * description of <a href="#modify_default_behavior">modifying the
default
+     * behavior</a>.
      *
      * @param baseName the base name of the resource bundle,
      *                 a fully qualified class name

Naoto

On 01/23/2017 10:51 AM, Mandy Chung wrote:

On Jan 23, 2017, at 9:14 AM, Naoto Sato <naoto.s...@oracle.com> wrote:

http://cr.openjdk.java.net/~naoto/8172365/webrev.05/


The fix is to reinstate the code that has been removed with 8171189,
with modification to load implementations with ServiceLoader.load()
method. That way, SPI implementations can be searched on application's
class path.

This change is reasonable.  The custom control provider can only be
used for loading of resource bundles in unnamed modules which
maintains JDK 8 behavior.

For the getBundle factory methods taking Module parameter, I suggest
to explain the spec to clarify that the custom control provider will
be used to load the resource bundle if the specified module is unnamed
module.

Otherwise looks good.
Mandy



Reply via email to