2303 |
02 Apr 14 |
olle |
1 |
package net.sf.basedb.labenv.converter; |
2303 |
02 Apr 14 |
olle |
2 |
|
2303 |
02 Apr 14 |
olle |
3 |
import java.text.DateFormat; |
2303 |
02 Apr 14 |
olle |
4 |
import java.text.ParseException; |
2303 |
02 Apr 14 |
olle |
5 |
import java.util.Date; |
2303 |
02 Apr 14 |
olle |
6 |
|
2303 |
02 Apr 14 |
olle |
7 |
/** |
2303 |
02 Apr 14 |
olle |
Value converter implementation for converting strings with date/time information |
2303 |
02 Apr 14 |
olle |
to actual date objects. The instance is configured with a {@link DateFormat} object |
2303 |
02 Apr 14 |
olle |
which does the actual conversion. See {@link DateFormat#parse(String)}. |
2303 |
02 Apr 14 |
olle |
@author nicklas |
2303 |
02 Apr 14 |
olle |
@since 1.0 |
2303 |
02 Apr 14 |
olle |
13 |
*/ |
2303 |
02 Apr 14 |
olle |
14 |
public class StringToDateConverter |
2303 |
02 Apr 14 |
olle |
15 |
implements ValueConverter<String, Date> |
2303 |
02 Apr 14 |
olle |
16 |
{ |
2303 |
02 Apr 14 |
olle |
17 |
|
2303 |
02 Apr 14 |
olle |
18 |
private final DateFormat dateFormat; |
2303 |
02 Apr 14 |
olle |
19 |
|
2303 |
02 Apr 14 |
olle |
20 |
/** |
2303 |
02 Apr 14 |
olle |
Create a new string-to-date converter. |
2303 |
02 Apr 14 |
olle |
@param dateFormat The formatter object used for the actual conversion |
2303 |
02 Apr 14 |
olle |
23 |
*/ |
2303 |
02 Apr 14 |
olle |
24 |
public StringToDateConverter(DateFormat dateFormat) |
2303 |
02 Apr 14 |
olle |
25 |
{ |
2303 |
02 Apr 14 |
olle |
26 |
this.dateFormat = dateFormat; |
2303 |
02 Apr 14 |
olle |
27 |
} |
2303 |
02 Apr 14 |
olle |
28 |
|
2303 |
02 Apr 14 |
olle |
29 |
/* |
2303 |
02 Apr 14 |
olle |
From the ValueConverter interface |
2303 |
02 Apr 14 |
olle |
31 |
--------------------------------- |
2303 |
02 Apr 14 |
olle |
32 |
*/ |
2303 |
02 Apr 14 |
olle |
33 |
@Override |
2303 |
02 Apr 14 |
olle |
34 |
public Date convert(String value) |
2303 |
02 Apr 14 |
olle |
35 |
{ |
2303 |
02 Apr 14 |
olle |
36 |
try |
2303 |
02 Apr 14 |
olle |
37 |
{ |
2303 |
02 Apr 14 |
olle |
38 |
return value == null || "".equals(value) ? null : dateFormat.parse(value); |
2303 |
02 Apr 14 |
olle |
39 |
} |
2303 |
02 Apr 14 |
olle |
40 |
catch (ParseException ex) |
2303 |
02 Apr 14 |
olle |
41 |
{ |
2303 |
02 Apr 14 |
olle |
42 |
throw new RuntimeException(ex); |
2303 |
02 Apr 14 |
olle |
43 |
} |
2303 |
02 Apr 14 |
olle |
44 |
} |
2303 |
02 Apr 14 |
olle |
45 |
// ------------------------------------ |
2303 |
02 Apr 14 |
olle |
46 |
|
2303 |
02 Apr 14 |
olle |
47 |
} |