54 * @author Masayoshi Okutsu
55 */
56 public class JRELocaleProviderAdapter extends LocaleProviderAdapter {
57
58 private static final String LOCALE_DATA_JAR_NAME = "localedata.jar";
59
60 private final ConcurrentMap<String, Set<String>> langtagSets
61 = new ConcurrentHashMap<>();
62
63 private final ConcurrentMap<Locale, LocaleResources> localeResourcesMap
64 = new ConcurrentHashMap<>();
65
66 // LocaleData specific to this LocaleProviderAdapter.
67 private volatile LocaleData localeData;
68
69 /**
70 * Returns the type of this LocaleProviderAdapter
71 */
72 @Override
73 public LocaleProviderAdapter.Type getAdapterType() {
74 return LocaleProviderAdapter.Type.JRE;
75 }
76
77 /**
78 * Getter method for Locale Service Providers
79 */
80 @Override
81 @SuppressWarnings("unchecked")
82 public <P extends LocaleServiceProvider> P getLocaleServiceProvider(Class<P> c) {
83 switch (c.getSimpleName()) {
84 case "BreakIteratorProvider":
85 return (P) getBreakIteratorProvider();
86 case "CollatorProvider":
87 return (P) getCollatorProvider();
88 case "DateFormatProvider":
89 return (P) getDateFormatProvider();
90 case "DateFormatSymbolsProvider":
91 return (P) getDateFormatSymbolsProvider();
92 case "DecimalFormatSymbolsProvider":
93 return (P) getDecimalFormatSymbolsProvider();
94 case "NumberFormatProvider":
|
54 * @author Masayoshi Okutsu
55 */
56 public class JRELocaleProviderAdapter extends LocaleProviderAdapter {
57
58 private static final String LOCALE_DATA_JAR_NAME = "localedata.jar";
59
60 private final ConcurrentMap<String, Set<String>> langtagSets
61 = new ConcurrentHashMap<>();
62
63 private final ConcurrentMap<Locale, LocaleResources> localeResourcesMap
64 = new ConcurrentHashMap<>();
65
66 // LocaleData specific to this LocaleProviderAdapter.
67 private volatile LocaleData localeData;
68
69 /**
70 * Returns the type of this LocaleProviderAdapter
71 */
72 @Override
73 public LocaleProviderAdapter.Type getAdapterType() {
74 return Type.JRE;
75 }
76
77 /**
78 * Getter method for Locale Service Providers
79 */
80 @Override
81 @SuppressWarnings("unchecked")
82 public <P extends LocaleServiceProvider> P getLocaleServiceProvider(Class<P> c) {
83 switch (c.getSimpleName()) {
84 case "BreakIteratorProvider":
85 return (P) getBreakIteratorProvider();
86 case "CollatorProvider":
87 return (P) getCollatorProvider();
88 case "DateFormatProvider":
89 return (P) getDateFormatProvider();
90 case "DateFormatSymbolsProvider":
91 return (P) getDateFormatSymbolsProvider();
92 case "DecimalFormatSymbolsProvider":
93 return (P) getDecimalFormatSymbolsProvider();
94 case "NumberFormatProvider":
|