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 import java.util.Date;
21
22 import org.seasar.cubby.converter.ConversionHelper;
23
24
25
26
27
28
29
30
31
32
33 public class DateConverter extends AbstractConverter {
34
35
36
37
38 public Class<?> getObjectType() {
39 return Date.class;
40 }
41
42
43
44
45 public Object convertToObject(final Object value,
46 final Class<?> objectType, ConversionHelper helper) {
47 if (value == null) {
48 return null;
49 }
50 final DateFormat dateFormat = helper.getFormatPattern().getDateFormat();
51 return toDate(value.toString(), dateFormat);
52 }
53
54
55
56
57
58
59
60
61
62
63 protected Date toDate(final String date, final DateFormat dateFormat) {
64 if (date == null || date.length() == 0) {
65 return null;
66 }
67 try {
68 return dateFormat.parse(date);
69 } catch (final ParseException e) {
70 return null;
71 }
72 }
73
74
75
76
77 public String convertToString(final Object value, ConversionHelper helper) {
78 if (value == null) {
79 return null;
80 }
81 final DateFormat formatter = helper.getFormatPattern().getDateFormat();
82 return formatter.format((Date) value);
83 }
84
85 }