1 |
| |
2 |
| |
3 |
| |
4 |
| |
5 |
| |
6 |
| |
7 |
| |
8 |
| |
9 |
| |
10 |
| |
11 |
| |
12 |
| |
13 |
| |
14 |
| |
15 |
| |
16 |
| package org.rblasch.convert.converters.primitives; |
17 |
| |
18 |
| import org.rblasch.convert.ConversionFailedException; |
19 |
| import org.rblasch.convert.converters.AbstractClassConverter; |
20 |
| |
21 |
| |
22 |
| |
23 |
| |
24 |
| public class StringToBooleanConverter extends AbstractClassConverter { |
25 |
11
| public Class getSourceClass() {
|
26 |
11
| return String.class;
|
27 |
| } |
28 |
| |
29 |
11
| public Class getDestinationClass() {
|
30 |
11
| return Boolean.class;
|
31 |
| } |
32 |
| |
33 |
1
| public int getWeight() {
|
34 |
1
| return 100;
|
35 |
| } |
36 |
| |
37 |
2
| private static boolean isTrue(final String s) {
|
38 |
2
| return "true".equalsIgnoreCase(s)
|
39 |
| || "1".equalsIgnoreCase(s); |
40 |
| } |
41 |
| |
42 |
1
| private static boolean isFalse(final String s) {
|
43 |
1
| return "false".equalsIgnoreCase(s)
|
44 |
| || "0".equalsIgnoreCase(s); |
45 |
| } |
46 |
| |
47 |
2
| public Object convert(final Object obj) throws Exception {
|
48 |
2
| final String s = ((String) obj).trim();
|
49 |
2
| if (isTrue(s)) {
|
50 |
1
| return Boolean.TRUE;
|
51 |
1
| } else if (isFalse(s)) {
|
52 |
1
| return Boolean.FALSE;
|
53 |
| } else { |
54 |
0
| throw new ConversionFailedException("Can't convert '" + obj + "' to boolean");
|
55 |
| } |
56 |
| } |
57 |
| } |