41 |
import java.util.Locale; |
import java.util.Locale; |
42 |
import java.util.MissingResourceException; |
import java.util.MissingResourceException; |
43 |
import java.util.ResourceBundle; |
import java.util.ResourceBundle; |
44 |
|
import java.util.StringTokenizer; |
45 |
|
|
46 |
/** |
/** |
47 |
* This class acts as container for locale specific date/time formatting |
* This class acts as container for locale specific date/time formatting |
79 |
transient String[] dateFormats; |
transient String[] dateFormats; |
80 |
transient String[] timeFormats; |
transient String[] timeFormats; |
81 |
|
|
82 |
private String[] formatsForKey(ResourceBundle res, String key) |
private static String[] getStringArray(ResourceBundle res, String name) |
83 |
|
{ |
84 |
|
int index = 0; |
85 |
|
String data = res.getString(name); |
86 |
|
StringTokenizer st = new StringTokenizer(data, "\u00ae"); |
87 |
|
String[] array = new String[st.countTokens()]; |
88 |
|
|
89 |
|
while (st.hasMoreTokens()) |
90 |
|
{ |
91 |
|
array[index] = st.nextToken(); |
92 |
|
index++; |
93 |
|
} |
94 |
|
|
95 |
|
return array; |
96 |
|
} |
97 |
|
|
98 |
|
private String[][] getZoneStrings(ResourceBundle res) |
99 |
{ |
{ |
100 |
String[] values = new String [formatPrefixes.length]; |
try |
|
for (int i = 0; i < formatPrefixes.length; i++) |
|
101 |
{ |
{ |
102 |
values[i] = res.getString(formatPrefixes[i]+key); |
int index = 0; |
103 |
|
String data = res.getString("zoneStrings"); |
104 |
|
StringTokenizer st = new StringTokenizer(data, "\u00ae\u00ae"); |
105 |
|
String[][] array = new String[st.countTokens()][]; |
106 |
|
|
107 |
|
while (st.hasMoreTokens()) |
108 |
|
{ |
109 |
|
int index2 = 0; |
110 |
|
String token = st.nextToken(); |
111 |
|
StringTokenizer st2 = new StringTokenizer(token, "\u00ae"); |
112 |
|
array[index] = new String[st2.countTokens()]; |
113 |
|
|
114 |
|
while (st2.hasMoreTokens()) |
115 |
|
{ |
116 |
|
array[index][index2] = st2.nextToken(); |
117 |
|
index2++; |
118 |
|
} |
119 |
|
|
120 |
|
index++; |
121 |
|
} |
122 |
|
|
123 |
|
return array; |
124 |
} |
} |
125 |
|
catch (MissingResourceException e) |
126 |
|
{ |
127 |
|
return new String[0][]; |
128 |
|
} |
129 |
|
} |
130 |
|
|
131 |
|
private String[] formatsForKey(ResourceBundle res, String key) |
132 |
|
{ |
133 |
|
String[] values = new String[formatPrefixes.length]; |
134 |
|
|
135 |
|
for (int i = 0; i < formatPrefixes.length; i++) |
136 |
|
values[i] = res.getString(formatPrefixes[i] + key); |
137 |
|
|
138 |
return values; |
return values; |
139 |
} |
} |
140 |
|
|
151 |
= ResourceBundle.getBundle("gnu.java.locale.LocaleInformation", locale, |
= ResourceBundle.getBundle("gnu.java.locale.LocaleInformation", locale, |
152 |
ClassLoader.getSystemClassLoader()); |
ClassLoader.getSystemClassLoader()); |
153 |
|
|
154 |
ampms = res.getStringArray ("ampms"); |
ampms = getStringArray(res, "ampms"); |
155 |
eras = res.getStringArray ("eras"); |
eras = getStringArray(res, "eras"); |
156 |
localPatternChars = res.getString ("localPatternChars"); |
localPatternChars = res.getString("localPatternChars"); |
157 |
months = res.getStringArray ("months"); |
months = getStringArray(res, "months"); |
158 |
shortMonths = res.getStringArray ("shortMonths"); |
shortMonths = getStringArray(res, "shortMonths"); |
159 |
shortWeekdays = res.getStringArray ("shortWeekdays"); |
shortWeekdays = getStringArray(res, "shortWeekdays"); |
160 |
weekdays = res.getStringArray ("weekdays"); |
weekdays = getStringArray(res, "weekdays"); |
161 |
zoneStrings = (String[][]) res.getObject ("zoneStrings"); |
zoneStrings = getZoneStrings(res); |
|
|
|
162 |
dateFormats = formatsForKey(res, "DateFormat"); |
dateFormats = formatsForKey(res, "DateFormat"); |
163 |
timeFormats = formatsForKey(res, "TimeFormat"); |
timeFormats = formatsForKey(res, "TimeFormat"); |
164 |
} |
} |