src/java.base/share/classes/sun/util/locale/provider/LocaleProviderAdapter.java
Print this page
*** 86,97 ****
return TEXT_RESOURCES_PACKAGE;
}
}
/**
! * LocaleProviderAdapter preference list. The default list is intended
! * to behave the same manner in JDK7.
*/
private static final List<Type> adapterPreference;
/**
* JRE Locale Data Adapter instance
--- 86,96 ----
return TEXT_RESOURCES_PACKAGE;
}
}
/**
! * LocaleProviderAdapter preference list.
*/
private static final List<Type> adapterPreference;
/**
* JRE Locale Data Adapter instance
*** 175,185 ****
defaultLocaleProviderAdapter = Type.FALLBACK;
} else {
defaultLocaleProviderAdapter = Type.JRE;
}
} else {
! // Default preference list
typeList.add(Type.JRE);
typeList.add(Type.SPI);
defaultLocaleProviderAdapter = Type.JRE;
}
--- 174,191 ----
defaultLocaleProviderAdapter = Type.FALLBACK;
} else {
defaultLocaleProviderAdapter = Type.JRE;
}
} else {
! // Default preference list.
! try {
! cldrLocaleProviderAdapter = new CLDRLocaleProviderAdapter();
! typeList.add(Type.CLDR);
! defaultLocaleProviderAdapter = Type.CLDR;
! } catch (UnsupportedOperationException e) {
! LocaleServiceProviderPool.config(LocaleProviderAdapter.class, e.toString());
! }
typeList.add(Type.JRE);
typeList.add(Type.SPI);
defaultLocaleProviderAdapter = Type.JRE;
}
*** 211,221 ****
}
public static LocaleProviderAdapter getResourceBundleBased() {
for (Type type : getAdapterPreference()) {
if (type == Type.JRE || type == Type.CLDR || type == Type.FALLBACK) {
! return forType(type);
}
}
// Shouldn't happen.
throw new InternalError();
}
--- 217,230 ----
}
public static LocaleProviderAdapter getResourceBundleBased() {
for (Type type : getAdapterPreference()) {
if (type == Type.JRE || type == Type.CLDR || type == Type.FALLBACK) {
! LocaleProviderAdapter adapter = forType(type);
! if (adapter != null) {
! return adapter;
! }
}
}
// Shouldn't happen.
throw new InternalError();
}
*** 293,324 ****
/**
* A utility method for implementing the default LocaleServiceProvider.isSupportedLocale
* for the JRE, CLDR, and FALLBACK adapters.
*/
! public static boolean isSupportedLocale(Locale locale, LocaleProviderAdapter.Type type, Set<String> langtags) {
assert type == Type.JRE || type == Type.CLDR || type == Type.FALLBACK;
- if (Locale.ROOT.equals(locale)) {
- return true;
- }
-
- if (type == Type.FALLBACK) {
- // no other locales except ROOT are supported for FALLBACK
- return false;
- }
-
- locale = locale.stripExtensions();
- if (langtags.contains(locale.toLanguageTag())) {
- return true;
- }
- if (type == Type.JRE) {
- String oldname = locale.toString().replace('_', '-');
- return langtags.contains(oldname) ||
- "ja-JP-JP".equals(oldname) ||
- "th-TH-TH".equals(oldname) ||
- "no-NO-NY".equals(oldname);
- }
return false;
}
public static Locale[] toLocaleArray(Set<String> tags) {
Locale[] locs = new Locale[tags.size() + 1];
--- 302,314 ----
/**
* A utility method for implementing the default LocaleServiceProvider.isSupportedLocale
* for the JRE, CLDR, and FALLBACK adapters.
*/
! public boolean isSupportedProviderLocale(Locale locale, Set<String> langtags) {
! LocaleProviderAdapter.Type type = getAdapterType();
assert type == Type.JRE || type == Type.CLDR || type == Type.FALLBACK;
return false;
}
public static Locale[] toLocaleArray(Set<String> tags) {
Locale[] locs = new Locale[tags.size() + 1];