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
// 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;
}
// Look for a properties file.
- InputStream i =
- ClassLoader.getSystemResourceAsStream (bundleName.replace ('.', '/')
- + ".properties");
+ InputStream i = loader.getResourceAsStream (bundleName.replace ('.',
+ '/')
+ + ".properties");
if (i != null)
{
try
// 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;
+ (langStop ? ("_" + locale.getLanguage()) : ""));
- rb = trySomeGetBundle(bundleName, stopHere);
+ rb = trySomeGetBundle(bundleName, stopHere, loader);
if (rb != null)
resource_cache.put(bundleName, rb);
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;
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;
}