Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
LocaleConvertUtils |
|
| 1.0;1 |
1 | /* | |
2 | * Licensed to the Apache Software Foundation (ASF) under one or more | |
3 | * contributor license agreements. See the NOTICE file distributed with | |
4 | * this work for additional information regarding copyright ownership. | |
5 | * The ASF licenses this file to You under the Apache License, Version 2.0 | |
6 | * (the "License"); you may not use this file except in compliance with | |
7 | * the License. You may obtain a copy of the License at | |
8 | * | |
9 | * http://www.apache.org/licenses/LICENSE-2.0 | |
10 | * | |
11 | * Unless required by applicable law or agreed to in writing, software | |
12 | * distributed under the License is distributed on an "AS IS" BASIS, | |
13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
14 | * See the License for the specific language governing permissions and | |
15 | * limitations under the License. | |
16 | */ | |
17 | ||
18 | package org.apache.commons.beanutils.locale; | |
19 | ||
20 | import org.apache.commons.collections.FastHashMap; | |
21 | ||
22 | import java.util.Locale; | |
23 | ||
24 | /** | |
25 | * <p>Utility methods for converting locale-sensitive String scalar values to objects of the | |
26 | * specified Class, String arrays to arrays of the specified Class and | |
27 | * object to locale-sensitive String scalar value.</p> | |
28 | * | |
29 | * <p>The implementations for these method are provided by {@link LocaleConvertUtilsBean}. | |
30 | * These static utility method use the default instance. More sophisticated can be provided | |
31 | * by using a <code>LocaleConvertUtilsBean</code> instance.</p> | |
32 | * | |
33 | * @author Yauheny Mikulski | |
34 | */ | |
35 | 0 | public class LocaleConvertUtils { |
36 | ||
37 | // ----------------------------------------------------- Instance Variables | |
38 | ||
39 | /** | |
40 | * <p>Gets the <code>Locale</code> which will be used when | |
41 | * no <code>Locale</code> is passed to a method.</p> | |
42 | * | |
43 | * <p>For more details see <code>LocaleConvertUtilsBean</code></p> | |
44 | * @return the default locale | |
45 | * @see LocaleConvertUtilsBean#getDefaultLocale() | |
46 | */ | |
47 | public static Locale getDefaultLocale() { | |
48 | ||
49 | 0 | return LocaleConvertUtilsBean.getInstance().getDefaultLocale(); |
50 | } | |
51 | ||
52 | /** | |
53 | * <p>Sets the <code>Locale</code> which will be used when | |
54 | * no <code>Locale</code> is passed to a method.</p> | |
55 | * | |
56 | * <p>For more details see <code>LocaleConvertUtilsBean</code></p> | |
57 | * | |
58 | * @param locale the default locale | |
59 | * @see LocaleConvertUtilsBean#setDefaultLocale(Locale) | |
60 | */ | |
61 | public static void setDefaultLocale(Locale locale) { | |
62 | ||
63 | 0 | LocaleConvertUtilsBean.getInstance().setDefaultLocale(locale); |
64 | 0 | } |
65 | ||
66 | /** | |
67 | * <p>Gets applyLocalized.</p> | |
68 | * | |
69 | * <p>For more details see <code>LocaleConvertUtilsBean</code></p> | |
70 | * | |
71 | * @return <code>true</code> if pattern is localized, | |
72 | * otherwise <code>false</code> | |
73 | * @see LocaleConvertUtilsBean#getApplyLocalized() | |
74 | */ | |
75 | public static boolean getApplyLocalized() { | |
76 | 0 | return LocaleConvertUtilsBean.getInstance().getApplyLocalized(); |
77 | } | |
78 | ||
79 | /** | |
80 | * <p>Sets applyLocalized.</p> | |
81 | * | |
82 | * <p>For more details see <code>LocaleConvertUtilsBean</code></p> | |
83 | * | |
84 | * @param newApplyLocalized <code>true</code> if pattern is localized, | |
85 | * otherwise <code>false</code> | |
86 | * @see LocaleConvertUtilsBean#setApplyLocalized(boolean) | |
87 | */ | |
88 | public static void setApplyLocalized(boolean newApplyLocalized) { | |
89 | 0 | LocaleConvertUtilsBean.getInstance().setApplyLocalized(newApplyLocalized); |
90 | 0 | } |
91 | ||
92 | // --------------------------------------------------------- Methods | |
93 | ||
94 | /** | |
95 | * <p>Convert the specified locale-sensitive value into a String.</p> | |
96 | * | |
97 | * <p>For more details see <code>LocaleConvertUtilsBean</code></p> | |
98 | * | |
99 | * @param value The Value to be converted | |
100 | * @return the converted value | |
101 | * @see LocaleConvertUtilsBean#convert(Object) | |
102 | */ | |
103 | public static String convert(Object value) { | |
104 | 11 | return LocaleConvertUtilsBean.getInstance().convert(value); |
105 | } | |
106 | ||
107 | /** | |
108 | * <p>Convert the specified locale-sensitive value into a String | |
109 | * using the conversion pattern.</p> | |
110 | * | |
111 | * <p>For more details see <code>LocaleConvertUtilsBean</code></p> | |
112 | * | |
113 | * @param value The Value to be converted | |
114 | * @param pattern The convertion pattern | |
115 | * @return the converted value | |
116 | * @see LocaleConvertUtilsBean#convert(Object, String) | |
117 | */ | |
118 | public static String convert(Object value, String pattern) { | |
119 | 0 | return LocaleConvertUtilsBean.getInstance().convert(value, pattern); |
120 | } | |
121 | ||
122 | /** | |
123 | * <p>Convert the specified locale-sensitive value into a String | |
124 | * using the paticular convertion pattern.</p> | |
125 | * | |
126 | * <p>For more details see <code>LocaleConvertUtilsBean</code></p> | |
127 | * | |
128 | * @param value The Value to be converted | |
129 | * @param locale The locale | |
130 | * @param pattern The convertion pattern | |
131 | * @return the converted value | |
132 | * @see LocaleConvertUtilsBean#convert(Object, Locale, String) | |
133 | */ | |
134 | public static String convert(Object value, Locale locale, String pattern) { | |
135 | ||
136 | 0 | return LocaleConvertUtilsBean.getInstance().convert(value, locale, pattern); |
137 | } | |
138 | ||
139 | /** | |
140 | * <p>Convert the specified value to an object of the specified class (if | |
141 | * possible). Otherwise, return a String representation of the value.</p> | |
142 | * | |
143 | * <p>For more details see <code>LocaleConvertUtilsBean</code></p> | |
144 | * | |
145 | * @param value The String scalar value to be converted | |
146 | * @param clazz The Data type to which this value should be converted. | |
147 | * @return the converted value | |
148 | * @see LocaleConvertUtilsBean#convert(String, Class) | |
149 | */ | |
150 | public static Object convert(String value, Class clazz) { | |
151 | ||
152 | 25 | return LocaleConvertUtilsBean.getInstance().convert(value, clazz); |
153 | } | |
154 | ||
155 | /** | |
156 | * <p>Convert the specified value to an object of the specified class (if | |
157 | * possible) using the convertion pattern. Otherwise, return a String | |
158 | * representation of the value.</p> | |
159 | * | |
160 | * <p>For more details see <code>LocaleConvertUtilsBean</code></p> | |
161 | * | |
162 | * @param value The String scalar value to be converted | |
163 | * @param clazz The Data type to which this value should be converted. | |
164 | * @param pattern The convertion pattern | |
165 | * @return the converted value | |
166 | * @see LocaleConvertUtilsBean#convert(String, Class, String) | |
167 | */ | |
168 | public static Object convert(String value, Class clazz, String pattern) { | |
169 | ||
170 | 0 | return LocaleConvertUtilsBean.getInstance().convert(value, clazz, pattern); |
171 | } | |
172 | ||
173 | /** | |
174 | * <p>Convert the specified value to an object of the specified class (if | |
175 | * possible) using the convertion pattern. Otherwise, return a String | |
176 | * representation of the value.</p> | |
177 | * | |
178 | * <p>For more details see <code>LocaleConvertUtilsBean</code></p> | |
179 | * | |
180 | * @param value The String scalar value to be converted | |
181 | * @param clazz The Data type to which this value should be converted. | |
182 | * @param locale The locale | |
183 | * @param pattern The convertion pattern | |
184 | * @return the converted value | |
185 | * @see LocaleConvertUtilsBean#convert(String, Class, Locale, String) | |
186 | */ | |
187 | public static Object convert(String value, Class clazz, Locale locale, String pattern) { | |
188 | ||
189 | 3 | return LocaleConvertUtilsBean.getInstance().convert(value, clazz, locale, pattern); |
190 | } | |
191 | ||
192 | /** | |
193 | * <p>Convert an array of specified values to an array of objects of the | |
194 | * specified class (if possible) using the convertion pattern.</p> | |
195 | * | |
196 | * <p>For more details see <code>LocaleConvertUtilsBean</code></p> | |
197 | * | |
198 | * @param values Value to be converted (may be null) | |
199 | * @param clazz Java array or element class to be converted to | |
200 | * @param pattern The convertion pattern | |
201 | * @return the converted value | |
202 | * @see LocaleConvertUtilsBean#convert(String[], Class, String) | |
203 | */ | |
204 | public static Object convert(String[] values, Class clazz, String pattern) { | |
205 | ||
206 | 0 | return LocaleConvertUtilsBean.getInstance().convert(values, clazz, pattern); |
207 | } | |
208 | ||
209 | /** | |
210 | * <p>Convert an array of specified values to an array of objects of the | |
211 | * specified class (if possible).</p> | |
212 | * | |
213 | * <p>For more details see <code>LocaleConvertUtilsBean</code></p> | |
214 | * | |
215 | * @param values Value to be converted (may be null) | |
216 | * @param clazz Java array or element class to be converted to | |
217 | * @return the converted value | |
218 | * @see LocaleConvertUtilsBean#convert(String[], Class) | |
219 | */ | |
220 | public static Object convert(String[] values, Class clazz) { | |
221 | ||
222 | 0 | return LocaleConvertUtilsBean.getInstance().convert(values, clazz); |
223 | } | |
224 | ||
225 | /** | |
226 | * <p>Convert an array of specified values to an array of objects of the | |
227 | * specified class (if possible) using the convertion pattern.</p> | |
228 | * | |
229 | * <p>For more details see <code>LocaleConvertUtilsBean</code></p> | |
230 | * | |
231 | * @param values Value to be converted (may be null) | |
232 | * @param clazz Java array or element class to be converted to | |
233 | * @param locale The locale | |
234 | * @param pattern The convertion pattern | |
235 | * @return the converted value | |
236 | * @see LocaleConvertUtilsBean#convert(String[], Class, Locale, String) | |
237 | */ | |
238 | public static Object convert(String[] values, Class clazz, Locale locale, String pattern) { | |
239 | ||
240 | 1 | return LocaleConvertUtilsBean.getInstance().convert(values, clazz, locale, pattern); |
241 | } | |
242 | ||
243 | /** | |
244 | * <p>Register a custom {@link LocaleConverter} for the specified destination | |
245 | * <code>Class</code>, replacing any previously registered converter.</p> | |
246 | * | |
247 | * <p>For more details see <code>LocaleConvertUtilsBean</code></p> | |
248 | * | |
249 | * @param converter The LocaleConverter to be registered | |
250 | * @param clazz The Destination class for conversions performed by this | |
251 | * Converter | |
252 | * @param locale The locale | |
253 | * @see LocaleConvertUtilsBean#register(LocaleConverter, Class, Locale) | |
254 | */ | |
255 | public static void register(LocaleConverter converter, Class clazz, Locale locale) { | |
256 | ||
257 | 3 | LocaleConvertUtilsBean.getInstance().register(converter, clazz, locale); |
258 | 3 | } |
259 | ||
260 | /** | |
261 | * <p>Remove any registered {@link LocaleConverter}.</p> | |
262 | * | |
263 | * <p>For more details see <code>LocaleConvertUtilsBean</code></p> | |
264 | * | |
265 | * @see LocaleConvertUtilsBean#deregister() | |
266 | */ | |
267 | public static void deregister() { | |
268 | ||
269 | 14 | LocaleConvertUtilsBean.getInstance().deregister(); |
270 | 14 | } |
271 | ||
272 | ||
273 | /** | |
274 | * <p>Remove any registered {@link LocaleConverter} for the specified locale.</p> | |
275 | * | |
276 | * <p>For more details see <code>LocaleConvertUtilsBean</code></p> | |
277 | * | |
278 | * @param locale The locale | |
279 | * @see LocaleConvertUtilsBean#deregister(Locale) | |
280 | */ | |
281 | public static void deregister(Locale locale) { | |
282 | ||
283 | 0 | LocaleConvertUtilsBean.getInstance().deregister(locale); |
284 | 0 | } |
285 | ||
286 | ||
287 | /** | |
288 | * <p>Remove any registered {@link LocaleConverter} for the specified locale and Class.</p> | |
289 | * | |
290 | * <p>For more details see <code>LocaleConvertUtilsBean</code></p> | |
291 | * | |
292 | * @param clazz Class for which to remove a registered Converter | |
293 | * @param locale The locale | |
294 | * @see LocaleConvertUtilsBean#deregister(Class, Locale) | |
295 | */ | |
296 | public static void deregister(Class clazz, Locale locale) { | |
297 | ||
298 | 0 | LocaleConvertUtilsBean.getInstance().deregister(clazz, locale); |
299 | 0 | } |
300 | ||
301 | /** | |
302 | * <p>Look up and return any registered {@link LocaleConverter} for the specified | |
303 | * destination class and locale; if there is no registered Converter, return | |
304 | * <code>null</code>.</p> | |
305 | * | |
306 | * <p>For more details see <code>LocaleConvertUtilsBean</code></p> | |
307 | * | |
308 | * @param clazz Class for which to return a registered Converter | |
309 | * @param locale The Locale | |
310 | * @return The registered locale Converter, if any | |
311 | * @see LocaleConvertUtilsBean#lookup(Class, Locale) | |
312 | */ | |
313 | public static LocaleConverter lookup(Class clazz, Locale locale) { | |
314 | ||
315 | 0 | return LocaleConvertUtilsBean.getInstance().lookup(clazz, locale); |
316 | } | |
317 | ||
318 | /** | |
319 | * <p>Look up and return any registered FastHashMap instance for the specified locale.</p> | |
320 | * | |
321 | * <p>For more details see <code>LocaleConvertUtilsBean</code></p> | |
322 | * | |
323 | * @param locale The Locale | |
324 | * @return The FastHashMap instance contains the all {@link LocaleConverter} types for | |
325 | * the specified locale. | |
326 | * @see LocaleConvertUtilsBean#lookup(Locale) | |
327 | * @deprecated This method will be modified to return a Map in the next release. | |
328 | */ | |
329 | protected static FastHashMap lookup(Locale locale) { | |
330 | 0 | return LocaleConvertUtilsBean.getInstance().lookup(locale); |
331 | } | |
332 | ||
333 | /** | |
334 | * <p>Create all {@link LocaleConverter} types for specified locale.</p> | |
335 | * | |
336 | * <p>For more details see <code>LocaleConvertUtilsBean</code></p> | |
337 | * | |
338 | * @param locale The Locale | |
339 | * @return The FastHashMap instance contains the all {@link LocaleConverter} types | |
340 | * for the specified locale. | |
341 | * @see LocaleConvertUtilsBean#create(Locale) | |
342 | * @deprecated This method will be modified to return a Map in the next release. | |
343 | */ | |
344 | protected static FastHashMap create(Locale locale) { | |
345 | ||
346 | 0 | return LocaleConvertUtilsBean.getInstance().create(locale); |
347 | } | |
348 | } |