< prev index next >
src/java.base/share/classes/sun/util/cldr/CLDRLocaleProviderAdapter.java
Print this page
rev 47480 : [mq]: 8176841
@@ -35,19 +35,19 @@
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Map;
-import java.util.Objects;
+import java.util.Optional;
import java.util.ServiceLoader;
import java.util.ServiceConfigurationError;
import java.util.Set;
import java.util.StringTokenizer;
import java.util.concurrent.ConcurrentHashMap;
import sun.util.locale.provider.JRELocaleProviderAdapter;
-import sun.util.locale.provider.LocaleProviderAdapter;
import sun.util.locale.provider.LocaleDataMetaInfo;
+import sun.util.locale.provider.LocaleProviderAdapter;
/**
* LocaleProviderAdapter implementation for the CLDR locale data.
*
* @author Masayoshi Okutsu
@@ -121,10 +121,14 @@
return locs;
}
@Override
protected Set<String> createLanguageTagSet(String category) {
+ // Assume all categories support the same set as AvailableLocales
+ // in CLDR adapter.
+ category = "AvailableLocales";
+
// Directly call Base tags, as we know it's in the base module.
String supportedLocaleString = baseMetaInfo.availableLanguageTags(category);
String nonBaseTags = null;
if (nonBaseMetaInfo != null) {
@@ -218,6 +222,13 @@
public boolean isSupportedProviderLocale(Locale locale, Set<String> langtags) {
return Locale.ROOT.equals(locale)
|| langtags.contains(locale.stripExtensions().toLanguageTag())
|| langtags.contains(getEquivalentLoc(locale).toLanguageTag());
}
+
+ /**
+ * Returns the time zone ID from an LDML's short ID
+ */
+ public Optional<String> getTimeZoneID(String shortID) {
+ return Optional.ofNullable(baseMetaInfo.tzShortIDs().get(shortID));
+ }
}
< prev index next >