1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 package nl.openedge.baritus.converters;
33
34 import java.util.Locale;
35
36 /***
37 * locale aware converter for doubles
38 * @author Eelco Hillenius
39 */
40 public class DoubleLocaleConverter extends DecimalLocaleConverter
41 {
42
43
44
45 /***
46 * Create a {@link LocaleConverter}
47 * that will throw a {@link ConversionException}
48 * if a conversion error occurs. The locale is the default locale for
49 * this instance of the Java Virtual Machine and an unlocalized pattern is used
50 * for the convertion.
51 *
52 */
53 public DoubleLocaleConverter()
54 {
55 this(Locale.getDefault());
56 }
57
58 /***
59 * Create a {@link LocaleConverter}
60 * that will throw a {@link ConversionException}
61 * if a conversion error occurs. An unlocalized pattern is used for the convertion.
62 *
63 * @param locale The locale
64 */
65 public DoubleLocaleConverter(Locale locale)
66 {
67 this(locale, null);
68 }
69
70 /***
71 * Create a {@link LocaleConverter}
72 * that will throw a {@link ConversionException}
73 * if a conversion error occurs. An unlocalized pattern is used for the convertion.
74 *
75 * @param locale The locale
76 * @param pattern The convertion pattern
77 */
78 public DoubleLocaleConverter(Locale locale, String pattern)
79 {
80 this(locale, pattern, false);
81 }
82
83 /***
84 * Create a {@link LocaleConverter}
85 * that will throw a {@link ConversionException}
86 * if a conversion error occurs.
87 *
88 * @param locale The locale
89 * @param pattern The convertion pattern
90 * @param locPattern Indicate whether the pattern is localized or not
91 */
92 public DoubleLocaleConverter(
93 Locale locale,
94 String pattern,
95 boolean locPattern)
96 {
97
98 super(locale, pattern, locPattern);
99 }
100
101 /***
102 * Convert the specified locale-sensitive input object into an output object of the
103 * specified type.
104 *
105 * @param type Data type to which this value should be converted
106 * @param value The input object to be converted
107 * @param pattern The pattern is used for the convertion
108 *
109 * @exception ConversionException if conversion cannot be performed
110 * successfully
111 */
112 public Object convert(Class type, Object value, String pattern)
113 {
114 if (value == null)
115 {
116 return null;
117 }
118
119 Number temp = getNumber(value, pattern);
120
121 return (temp instanceof Double) ? (Double)temp : new Double(temp.doubleValue());
122 }
123 }