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