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.math.BigDecimal;
19
20 import org.seasar.cubby.converter.ConversionHelper;
21
22
23
24
25
26
27
28
29
30
31 public abstract class AbstractNumberConverter extends AbstractConverter {
32
33
34
35
36 public Object convertToObject(final Object value, final Class<?> objectType, ConversionHelper helper) {
37 if (value == null) {
38 return null;
39 }
40 return convert(value.toString());
41 }
42
43
44
45
46
47
48
49
50 protected Number convert(final String number) {
51 if (number == null || number.length() == 0) {
52 return null;
53 }
54 final BigDecimal decimal = new BigDecimal(number);
55 return convert(decimal);
56 }
57
58
59
60
61 public String convertToString(final Object value, ConversionHelper helper) {
62 if (value == null) {
63 return null;
64 }
65 return value.toString();
66 }
67
68
69
70
71
72
73
74
75 protected abstract Number convert(Number number);
76
77 }