jdk/src/share/classes/sun/util/locale/provider/CurrencyNameProviderImpl.java
changeset 14185 916ec0a4d039
parent 13583 dc0017b1a452
child 15260 7af2d7a87806
equal deleted inserted replaced
14184:5553422ece67 14185:916ec0a4d039
    24  */
    24  */
    25 
    25 
    26 package sun.util.locale.provider;
    26 package sun.util.locale.provider;
    27 
    27 
    28 import java.util.Locale;
    28 import java.util.Locale;
    29 import java.util.MissingResourceException;
    29 import java.util.ResourceBundle;
    30 import java.util.Set;
    30 import java.util.Set;
    31 import java.util.spi.CurrencyNameProvider;
    31 import java.util.spi.CurrencyNameProvider;
    32 import sun.util.resources.OpenListResourceBundle;
       
    33 
    32 
    34 /**
    33 /**
    35  * Concrete implementation of the
    34  * Concrete implementation of the
    36  * {@link java.util.spi.CurrencyNameProvider CurrencyNameProvider} class
    35  * {@link java.util.spi.CurrencyNameProvider CurrencyNameProvider} class
    37  * for the JRE LocaleProviderAdapter.
    36  * for the JRE LocaleProviderAdapter.
   119     private String getString(String key, Locale locale) {
   118     private String getString(String key, Locale locale) {
   120         if (locale == null) {
   119         if (locale == null) {
   121             throw new NullPointerException();
   120             throw new NullPointerException();
   122         }
   121         }
   123 
   122 
   124         OpenListResourceBundle bundle = LocaleProviderAdapter.forType(type).getLocaleData().getCurrencyNames(locale);
   123         ResourceBundle bundle = LocaleProviderAdapter.forType(type).getLocaleData().getCurrencyNames(locale);
   125         LocaleServiceProviderPool pool =
   124         if (bundle.containsKey(key)) {
   126                 LocaleServiceProviderPool.getPool(CurrencyNameProvider.class);
       
   127         try {
       
   128             if (!pool.hasProviders() ||
       
   129                 (bundle.getLocale().equals(locale) &&
       
   130                  bundle.handleGetKeys().contains(key))) {
       
   131                 return bundle.getString(key);
   125                 return bundle.getString(key);
   132             }
   126             }
   133         } catch (MissingResourceException mre) {}
       
   134 
   127 
   135         return null;
   128         return null;
   136     }
   129     }
   137 }
   130 }