< prev index next >

src/jdk.localedata/share/classes/sun/util/resources/provider/LocaleDataProvider.java

Print this page




  29 import java.util.ResourceBundle;
  30 import sun.util.resources.LocaleData;
  31 
  32 /**
  33  * Service Provider for loading locale data resource bundles in jdk.localedata
  34  * except for JavaTimeSupplementary resource bundles.
  35  */
  36 public class LocaleDataProvider extends LocaleData.CommonResourceBundleProvider {
  37     @Override
  38     public ResourceBundle getBundle(String baseName, Locale locale) {
  39         return loadResourceBundle(toBundleName(baseName, locale));
  40     }
  41 
  42     /**
  43      * Utility method for loading a resource bundle in jdk.localedata.
  44      */
  45     static ResourceBundle loadResourceBundle(String bundleName) {
  46         Class<?> c = Class.forName(LocaleDataProvider.class.getModule(), bundleName);
  47         if (c != null && ResourceBundle.class.isAssignableFrom(c)) {
  48             try {
  49                 @SuppressWarnings("unchecked")
  50                 ResourceBundle rb = ((Class<ResourceBundle>) c).newInstance();
  51                 return rb;
  52             } catch (InstantiationException | IllegalAccessException e) {
  53                 throw new InternalError(e);
  54             }
  55         }
  56         return null;
  57     }
  58 }


  29 import java.util.ResourceBundle;
  30 import sun.util.resources.LocaleData;
  31 
  32 /**
  33  * Service Provider for loading locale data resource bundles in jdk.localedata
  34  * except for JavaTimeSupplementary resource bundles.
  35  */
  36 public class LocaleDataProvider extends LocaleData.CommonResourceBundleProvider {
  37     @Override
  38     public ResourceBundle getBundle(String baseName, Locale locale) {
  39         return loadResourceBundle(toBundleName(baseName, locale));
  40     }
  41 
  42     /**
  43      * Utility method for loading a resource bundle in jdk.localedata.
  44      */
  45     static ResourceBundle loadResourceBundle(String bundleName) {
  46         Class<?> c = Class.forName(LocaleDataProvider.class.getModule(), bundleName);
  47         if (c != null && ResourceBundle.class.isAssignableFrom(c)) {
  48             try {
  49                 @SuppressWarnings({"unchecked", "deprecation"})
  50                 ResourceBundle rb = ((Class<ResourceBundle>) c).newInstance();
  51                 return rb;
  52             } catch (InstantiationException | IllegalAccessException e) {
  53                 throw new InternalError(e);
  54             }
  55         }
  56         return null;
  57     }
  58 }
< prev index next >