diff options
-rw-r--r-- | libjava/ChangeLog | 5 | ||||
-rw-r--r-- | libjava/java/util/ResourceBundle.java | 25 |
2 files changed, 22 insertions, 8 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 0f95888..24f2307 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,5 +1,10 @@ 2000-12-14 Tom Tromey <tromey@redhat.com> + * java/util/ResourceBundle.java + (getBundle(String,Locale,ClassLoader)): New method. + (trySomeGetBundle): Added `loader' argument. + (partialGetBundle): Likewise. + * java/text/NumberFormat.java (groupingUsed, parseIntegerOnly, maximumFractionDigits, maximumIntegerDigits, minimumFractionDigits, minimumIntegerDigits): Now diff --git a/libjava/java/util/ResourceBundle.java b/libjava/java/util/ResourceBundle.java index 639872b..99b81bf 100644 --- a/libjava/java/util/ResourceBundle.java +++ b/libjava/java/util/ResourceBundle.java @@ -73,7 +73,8 @@ public abstract class ResourceBundle // stripping off the '_' delimited tails until the search name is // the same as stopHere. private static final ResourceBundle trySomeGetBundle (String bundleName, - String stopHere) + String stopHere, + ClassLoader loader) { Class rbc; ResourceBundle needs_parent = null, r, result = null; @@ -115,9 +116,9 @@ public abstract class ResourceBundle } // Look for a properties file. - InputStream i = - ClassLoader.getSystemResourceAsStream (bundleName.replace ('.', '/') - + ".properties"); + InputStream i = loader.getResourceAsStream (bundleName.replace ('.', + '/') + + ".properties"); if (i != null) { try @@ -151,7 +152,8 @@ public abstract class ResourceBundle // Search for bundles, but stop at baseName_language (if required). // This is synchronized so that the cache works correctly. private static final synchronized ResourceBundle - partialGetBundle (String baseName, Locale locale, boolean langStop) + partialGetBundle (String baseName, Locale locale, boolean langStop, + ClassLoader loader) { ResourceBundle rb; @@ -168,7 +170,7 @@ public abstract class ResourceBundle + (langStop ? ("_" + locale.getLanguage()) : "")); - rb = trySomeGetBundle(bundleName, stopHere); + rb = trySomeGetBundle(bundleName, stopHere, loader); if (rb != null) resource_cache.put(bundleName, rb); @@ -177,6 +179,13 @@ public abstract class ResourceBundle public static final ResourceBundle getBundle (String baseName, Locale locale) + { + return getBundle (baseName, locale, ClassLoader.getSystemClassLoader ()); + } + + public static final ResourceBundle getBundle (String baseName, + Locale locale, + ClassLoader loader) throws MissingResourceException { ResourceBundle rb; @@ -185,14 +194,14 @@ public abstract class ResourceBundle if (baseName == null) throw new NullPointerException (); - rb = partialGetBundle(baseName, locale, false); + rb = partialGetBundle(baseName, locale, false, loader); if (rb != null) return rb; // Finally, try the default locale. if (! locale.equals(Locale.getDefault())) { - rb = partialGetBundle(baseName, Locale.getDefault(), true); + rb = partialGetBundle(baseName, Locale.getDefault(), true, loader); if (rb != null) return rb; } |