src/java.base/share/classes/sun/util/locale/provider/CalendarNameProviderImpl.java

Print this page
rev 10528 : 8038436: Re-examine the mechanism to determine available localedata and cldrdata
Reviewed-by:

*** 1,7 **** /* ! * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this --- 1,7 ---- /* ! * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this
*** 39,53 **** * @author Masayoshi Okutsu * @author Naoto Sato */ public class CalendarNameProviderImpl extends CalendarNameProvider implements AvailableLanguageTags { private final LocaleProviderAdapter.Type type; - private final Set<String> langtags; ! public CalendarNameProviderImpl(LocaleProviderAdapter.Type type, Set<String> langtags) { this.type = type; - this.langtags = langtags; } @Override public String getDisplayName(String calendarType, int field, int value, int style, Locale locale) { return getDisplayNameImpl(calendarType, field, value, style, locale, false); --- 39,51 ---- * @author Masayoshi Okutsu * @author Naoto Sato */ public class CalendarNameProviderImpl extends CalendarNameProvider implements AvailableLanguageTags { private final LocaleProviderAdapter.Type type; ! public CalendarNameProviderImpl(LocaleProviderAdapter.Type type) { this.type = type; } @Override public String getDisplayName(String calendarType, int field, int value, int style, Locale locale) { return getDisplayNameImpl(calendarType, field, value, style, locale, false);
*** 82,92 **** } } return name; } ! private static int[] REST_OF_STYLES = { SHORT_STANDALONE, LONG_FORMAT, LONG_STANDALONE, NARROW_FORMAT, NARROW_STANDALONE }; @Override --- 80,90 ---- } } return name; } ! private static final int[] REST_OF_STYLES = { SHORT_STANDALONE, LONG_FORMAT, LONG_STANDALONE, NARROW_FORMAT, NARROW_STANDALONE }; @Override
*** 163,173 **** } } @Override public Locale[] getAvailableLocales() { ! return LocaleProviderAdapter.toLocaleArray(langtags); } @Override public boolean isSupportedLocale(Locale locale) { if (Locale.ROOT.equals(locale)) { --- 161,171 ---- } } @Override public Locale[] getAvailableLocales() { ! return LocaleProviderAdapter.toLocaleArray(DateFormatProviderImpl.getLangTags(type)); } @Override public boolean isSupportedLocale(Locale locale) { if (Locale.ROOT.equals(locale)) {
*** 190,212 **** default: // Unknown calendar type return false; } } ! if (langtags.contains(locale.toLanguageTag())) { return true; } if (type == LocaleProviderAdapter.Type.JRE) { String oldname = locale.toString().replace('_', '-'); ! return langtags.contains(oldname); } return false; } @Override public Set<String> getAvailableLanguageTags() { ! return langtags; } private boolean hasDuplicates(String[] strings) { int len = strings.length; for (int i = 0; i < len - 1; i++) { --- 188,210 ---- default: // Unknown calendar type return false; } } ! if (DateFormatProviderImpl.getLangTags(type).contains(locale.toLanguageTag())) { return true; } if (type == LocaleProviderAdapter.Type.JRE) { String oldname = locale.toString().replace('_', '-'); ! return DateFormatProviderImpl.getLangTags(type).contains(oldname); } return false; } @Override public Set<String> getAvailableLanguageTags() { ! return DateFormatProviderImpl.getLangTags(type); } private boolean hasDuplicates(String[] strings) { int len = strings.length; for (int i = 0; i < len - 1; i++) {