1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.seasar.cubby.converter.impl;
17
18 import java.text.DateFormat;
19 import java.text.ParseException;
20
21 import org.seasar.cubby.converter.ConversionHelper;
22
23
24
25
26
27
28
29
30
31
32 public class SqlTimestampConverter extends AbstractConverter {
33
34
35
36
37 public Class<?> getObjectType() {
38 return java.sql.Timestamp.class;
39 }
40
41
42
43
44 public Object convertToObject(final Object value,
45 final Class<?> objectType, ConversionHelper helper) {
46 if (value == null) {
47 return null;
48 }
49 final DateFormat dateFormat = helper.getFormatPattern()
50 .getTimestampFormat();
51 return toTimestamp((String) value, dateFormat);
52 }
53
54
55
56
57
58
59
60
61
62
63 protected java.sql.Timestamp toTimestamp(final String date,
64 final DateFormat dateFormat) {
65 if (date == null || date.length() == 0) {
66 return null;
67 }
68 try {
69 return new java.sql.Timestamp(dateFormat.parse(date).getTime());
70 } catch (final ParseException e) {
71 return null;
72 }
73 }
74
75
76
77
78 public String convertToString(final Object value, ConversionHelper helper) {
79 if (value == null) {
80 return null;
81 }
82 final DateFormat formatter = helper.getFormatPattern()
83 .getTimestampFormat();
84 return formatter.format((java.sql.Timestamp) value);
85 }
86
87 }