< prev index next >

src/java.base/share/classes/sun/util/resources/LocaleData.java

Print this page




 142         OpenListResourceBundle supp = getSupplementary(suppName, formatData.getLocale());
 143         formatData.setParallelContents(supp);
 144         resetKeySet |= supp != null;
 145         // If any parents or this bundle has parallel data, reset keyset to create
 146         // a new keyset with the data.
 147         if (resetKeySet) {
 148             formatData.resetKeySet();
 149         }
 150         return resetKeySet;
 151     }
 152 
 153     /**
 154      * Gets a number format data resource bundle, using privileges
 155      * to allow accessing a sun.* package.
 156      */
 157     public ResourceBundle getNumberFormatData(Locale locale) {
 158         return getBundle(type.getTextResourcesPackage() + ".FormatData", locale);
 159     }
 160 
 161     public static ResourceBundle getBundle(final String baseName, final Locale locale) {
 162         return AccessController.doPrivileged(new PrivilegedAction<ResourceBundle>() {
 163             @Override
 164             public ResourceBundle run() {
 165                 return ResourceBundle
 166                         .getBundle(baseName, locale, LocaleDataResourceBundleControl.INSTANCE);
 167             }
 168         });
 169     }
 170 
 171     private static OpenListResourceBundle getSupplementary(final String baseName, final Locale locale) {
 172         return AccessController.doPrivileged(new PrivilegedAction<OpenListResourceBundle>() {
 173            @Override
 174            public OpenListResourceBundle run() {
 175                OpenListResourceBundle rb = null;
 176                try {
 177                    rb = (OpenListResourceBundle) ResourceBundle.getBundle(baseName,
 178                            locale, SupplementaryResourceBundleControl.INSTANCE);
 179 
 180                } catch (MissingResourceException e) {
 181                    // return null if no supplementary is available
 182                }
 183                return rb;
 184            }
 185         });
 186     }
 187 
 188     private static class LocaleDataResourceBundleControl extends ResourceBundle.Control {
 189         /* Singlton instance of ResourceBundle.Control. */
 190         private static final LocaleDataResourceBundleControl INSTANCE =
 191             new LocaleDataResourceBundleControl();
 192 




 142         OpenListResourceBundle supp = getSupplementary(suppName, formatData.getLocale());
 143         formatData.setParallelContents(supp);
 144         resetKeySet |= supp != null;
 145         // If any parents or this bundle has parallel data, reset keyset to create
 146         // a new keyset with the data.
 147         if (resetKeySet) {
 148             formatData.resetKeySet();
 149         }
 150         return resetKeySet;
 151     }
 152 
 153     /**
 154      * Gets a number format data resource bundle, using privileges
 155      * to allow accessing a sun.* package.
 156      */
 157     public ResourceBundle getNumberFormatData(Locale locale) {
 158         return getBundle(type.getTextResourcesPackage() + ".FormatData", locale);
 159     }
 160 
 161     public static ResourceBundle getBundle(final String baseName, final Locale locale) {
 162         return AccessController.doPrivileged(new PrivilegedAction<>() {
 163             @Override
 164             public ResourceBundle run() {
 165                 return ResourceBundle
 166                         .getBundle(baseName, locale, LocaleDataResourceBundleControl.INSTANCE);
 167             }
 168         });
 169     }
 170 
 171     private static OpenListResourceBundle getSupplementary(final String baseName, final Locale locale) {
 172         return AccessController.doPrivileged(new PrivilegedAction<>() {
 173            @Override
 174            public OpenListResourceBundle run() {
 175                OpenListResourceBundle rb = null;
 176                try {
 177                    rb = (OpenListResourceBundle) ResourceBundle.getBundle(baseName,
 178                            locale, SupplementaryResourceBundleControl.INSTANCE);
 179 
 180                } catch (MissingResourceException e) {
 181                    // return null if no supplementary is available
 182                }
 183                return rb;
 184            }
 185         });
 186     }
 187 
 188     private static class LocaleDataResourceBundleControl extends ResourceBundle.Control {
 189         /* Singlton instance of ResourceBundle.Control. */
 190         private static final LocaleDataResourceBundleControl INSTANCE =
 191             new LocaleDataResourceBundleControl();
 192 


< prev index next >