1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.beanutils.locale.converters;
19
20 import java.sql.Timestamp;
21 import java.text.ParseException;
22 import java.util.Locale;
23
24 /***
25 * <p>Standard {@link org.apache.commons.beanutils.locale.LocaleConverter}
26 * implementation that converts an incoming
27 * locale-sensitive String into a <code>java.sql.Timestamp</code> object,
28 * optionally using a default value or throwing a
29 * {@link org.apache.commons.beanutils.ConversionException}
30 * if a conversion error occurs.</p>
31 *
32 * @author Yauheny Mikulski
33 */
34
35 public class SqlTimestampLocaleConverter extends DateLocaleConverter {
36
37
38
39
40 /***
41 * Create a {@link org.apache.commons.beanutils.locale.LocaleConverter}
42 * that will throw a {@link org.apache.commons.beanutils.ConversionException}
43 * if a conversion error occurs. The locale is the default locale for
44 * this instance of the Java Virtual Machine and an unlocalized pattern is used
45 * for the convertion.
46 *
47 */
48 public SqlTimestampLocaleConverter() {
49
50 this(false);
51 }
52
53 /***
54 * Create a {@link org.apache.commons.beanutils.locale.LocaleConverter}
55 * that will throw a {@link org.apache.commons.beanutils.ConversionException}
56 * if a conversion error occurs. The locale is the default locale for
57 * this instance of the Java Virtual Machine.
58 *
59 * @param locPattern Indicate whether the pattern is localized or not
60 */
61 public SqlTimestampLocaleConverter(boolean locPattern) {
62
63 this(Locale.getDefault(), locPattern);
64 }
65
66 /***
67 * Create a {@link org.apache.commons.beanutils.locale.LocaleConverter}
68 * that will throw a {@link org.apache.commons.beanutils.ConversionException}
69 * if a conversion error occurs. An unlocalized pattern is used for the convertion.
70 *
71 * @param locale The locale
72 */
73 public SqlTimestampLocaleConverter(Locale locale) {
74
75 this(locale, (String) null);
76 }
77
78 /***
79 * Create a {@link org.apache.commons.beanutils.locale.LocaleConverter}
80 * that will throw a {@link org.apache.commons.beanutils.ConversionException}
81 * if a conversion error occurs.
82 *
83 * @param locale The locale
84 * @param locPattern Indicate whether the pattern is localized or not
85 */
86 public SqlTimestampLocaleConverter(Locale locale, boolean locPattern) {
87
88 this(locale, (String) null);
89 }
90
91 /***
92 * Create a {@link org.apache.commons.beanutils.locale.LocaleConverter}
93 * that will throw a {@link org.apache.commons.beanutils.ConversionException}
94 * if a conversion error occurs. An unlocalized pattern is used for the convertion.
95 *
96 * @param locale The locale
97 * @param pattern The convertion pattern
98 */
99 public SqlTimestampLocaleConverter(Locale locale, String pattern) {
100
101 this(locale, pattern, false);
102 }
103
104 /***
105 * Create a {@link org.apache.commons.beanutils.locale.LocaleConverter}
106 * that will throw a {@link org.apache.commons.beanutils.ConversionException}
107 * if a conversion error occurs.
108 *
109 * @param locale The locale
110 * @param pattern The convertion pattern
111 * @param locPattern Indicate whether the pattern is localized or not
112 */
113 public SqlTimestampLocaleConverter(Locale locale, String pattern, boolean locPattern) {
114
115 super(locale, pattern, locPattern);
116 }
117
118 /***
119 * Create a {@link org.apache.commons.beanutils.locale.LocaleConverter}
120 * that will return the specified default value
121 * if a conversion error occurs. The locale is the default locale for
122 * this instance of the Java Virtual Machine and an unlocalized pattern is used
123 * for the convertion.
124 *
125 * @param defaultValue The default value to be returned
126 */
127 public SqlTimestampLocaleConverter(Object defaultValue) {
128 this(defaultValue, false);
129 }
130
131 /***
132 * Create a {@link org.apache.commons.beanutils.locale.LocaleConverter}
133 * that will return the specified default value
134 * if a conversion error occurs. The locale is the default locale for
135 * this instance of the Java Virtual Machine.
136 *
137 * @param defaultValue The default value to be returned
138 * @param locPattern Indicate whether the pattern is localized or not
139 */
140 public SqlTimestampLocaleConverter(Object defaultValue, boolean locPattern) {
141
142 this(defaultValue, Locale.getDefault(), locPattern);
143 }
144
145 /***
146 * Create a {@link org.apache.commons.beanutils.locale.LocaleConverter}
147 * that will return the specified default value
148 * if a conversion error occurs. An unlocalized pattern is used for the convertion.
149 *
150 * @param defaultValue The default value to be returned
151 * @param locale The locale
152 */
153 public SqlTimestampLocaleConverter(Object defaultValue, Locale locale) {
154
155 this(defaultValue, locale, false);
156 }
157
158 /***
159 * Create a {@link org.apache.commons.beanutils.locale.LocaleConverter}
160 * that will return the specified default value
161 * if a conversion error occurs.
162 *
163 * @param defaultValue The default value to be returned
164 * @param locale The locale
165 * @param locPattern Indicate whether the pattern is localized or not
166 */
167 public SqlTimestampLocaleConverter(Object defaultValue, Locale locale, boolean locPattern) {
168
169 this(defaultValue, locale, null, locPattern);
170 }
171
172 /***
173 * Create a {@link org.apache.commons.beanutils.locale.LocaleConverter}
174 * that will return the specified default value
175 * if a conversion error occurs. An unlocalized pattern is used for the convertion.
176 *
177 * @param defaultValue The default value to be returned
178 * @param locale The locale
179 * @param pattern The convertion pattern
180 */
181 public SqlTimestampLocaleConverter(Object defaultValue, Locale locale, String pattern) {
182
183 this(defaultValue, locale, pattern, false);
184 }
185
186 /***
187 * Create a {@link org.apache.commons.beanutils.locale.LocaleConverter}
188 * that will return the specified default value
189 * if a conversion error occurs.
190 *
191 * @param defaultValue The default value to be returned
192 * @param locale The locale
193 * @param pattern The convertion pattern
194 * @param locPattern Indicate whether the pattern is localized or not
195 */
196 public SqlTimestampLocaleConverter(Object defaultValue, Locale locale, String pattern, boolean locPattern) {
197
198 super(defaultValue, locale, pattern, locPattern);
199 }
200
201
202
203 /***
204 * Convert the specified locale-sensitive input object into an output object of the
205 * specified type.
206 *
207 * @param value The input object to be converted
208 * @param pattern The pattern is used for the convertion
209 * @return The converted value
210 *
211 * @exception org.apache.commons.beanutils.ConversionException if conversion
212 * cannot be performed successfully
213 * @throws ParseException if an error occurs parsing a String to a Number
214 */
215 protected Object parse(Object value, String pattern) throws ParseException {
216
217 return new Timestamp(((java.util.Date) super.parse(value, pattern)).getTime());
218 }
219 }