src/java.base/share/classes/sun/util/locale/provider/LocaleDataMetaInfo-XLocales.java.template
Print this page
*** 28,89 ****
/*
* This class contains a map which records the locale list string for
* each resource in sun.util.resources & sun.text.resources.
* It is used to avoid loading non-existent localized resources so that
* jar files won't be opened unnecessary to look up them.
- *
- * @since 1.6
*/
! package sun.util.locale.provider;
import java.util.HashMap;
! public class LocaleDataMetaInfo {
!
! private static final HashMap<String, String> resourceNameToLocales =
! new HashMap<String, String>(7);
!
static {
/* During JDK build time, #XXX_YYY# will be replaced by a string contain all the locales
supported by the resource.
Don't remove the space character between " and #. That is put there purposely so that
look up locale string such as "en" could be based on if it contains " en ".
*/
resourceNameToLocales.put("FormatData",
! " #FormatData_ENLocales# | #FormatData_NonENLocales# ");
resourceNameToLocales.put("CollationData",
! " #CollationData_ENLocales# | #CollationData_NonENLocales# ");
resourceNameToLocales.put("BreakIteratorInfo",
! " #BreakIteratorInfo_ENLocales# | #BreakIteratorInfo_NonENLocales# ");
resourceNameToLocales.put("BreakIteratorRules",
! " #BreakIteratorRules_ENLocales# | #BreakIteratorRules_NonENLocales# ");
resourceNameToLocales.put("TimeZoneNames",
! " #TimeZoneNames_ENLocales# | #TimeZoneNames_NonENLocales# ");
resourceNameToLocales.put("LocaleNames",
! " #LocaleNames_ENLocales# | #LocaleNames_NonENLocales# ");
resourceNameToLocales.put("CurrencyNames",
! " #CurrencyNames_ENLocales# | #CurrencyNames_NonENLocales# ");
resourceNameToLocales.put("CalendarData",
! " #CalendarData_ENLocales# | #CalendarData_NonENLocales# ");
resourceNameToLocales.put("AvailableLocales",
! " #AvailableLocales_ENLocales# | #AvailableLocales_NonENLocales# ");
}
/*
* @param resourceName the resource name
* @return the supported locale string for the passed in resource.
*/
public static String getSupportedLocaleString(String resourceName) {
! return resourceNameToLocales.get(resourceName);
}
}
--- 28,100 ----
/*
* This class contains a map which records the locale list string for
* each resource in sun.util.resources & sun.text.resources.
* It is used to avoid loading non-existent localized resources so that
* jar files won't be opened unnecessary to look up them.
*/
! package #Package#;
import java.util.HashMap;
+ import java.util.Map;
+ import sun.util.locale.provider.LocaleDataMetaInfo;
+ import static sun.util.locale.provider.LocaleProviderAdapter.Type;
+ public class #Lang#LocaleDataMetaInfo implements LocaleDataMetaInfo {
! private static final Map<String, String> resourceNameToLocales = new HashMap<>(9);
static {
/* During JDK build time, #XXX_YYY# will be replaced by a string contain all the locales
supported by the resource.
Don't remove the space character between " and #. That is put there purposely so that
look up locale string such as "en" could be based on if it contains " en ".
*/
resourceNameToLocales.put("FormatData",
! " #FormatData_Locales# ");
resourceNameToLocales.put("CollationData",
! " #CollationData_Locales# ");
resourceNameToLocales.put("BreakIteratorInfo",
! " #BreakIteratorInfo_Locales# ");
resourceNameToLocales.put("BreakIteratorRules",
! " #BreakIteratorRules_Locales# ");
resourceNameToLocales.put("TimeZoneNames",
! " #TimeZoneNames_Locales# ");
resourceNameToLocales.put("LocaleNames",
! " #LocaleNames_Locales# ");
resourceNameToLocales.put("CurrencyNames",
! " #CurrencyNames_Locales# ");
resourceNameToLocales.put("CalendarData",
! " #CalendarData_Locales# ");
resourceNameToLocales.put("AvailableLocales",
! " #AvailableLocales_Locales# ");
}
/*
+ * Gets the supported locales string based on the availability of
+ * locale data resource bundles for each resource name.
+ *
* @param resourceName the resource name
* @return the supported locale string for the passed in resource.
*/
public static String getSupportedLocaleString(String resourceName) {
! return resourceNameToLocales.getOrDefault(resourceName, "");
! }
!
! @Override
! public Type getType() {
! return Type.JRE;
! }
!
! @Override
! public String availableLanguageTags(String category) {
! return getSupportedLocaleString(category);
}
}