1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.jboss.netty.util.internal;
17
18 import java.util.ArrayList;
19 import java.util.List;
20
21
22
23
24
25
26
27
28
29
30
31 public class ConversionUtil {
32
33
34
35
36 public static int toInt(Object value) {
37 if (value instanceof Number) {
38 return ((Number) value).intValue();
39 } else {
40 return Integer.parseInt(String.valueOf(value));
41 }
42 }
43
44
45
46
47 public static boolean toBoolean(Object value) {
48 if (value instanceof Boolean) {
49 return ((Boolean) value).booleanValue();
50 }
51 if (value instanceof Number) {
52 return ((Number) value).intValue() != 0;
53 } else {
54 String s = String.valueOf(value);
55 if (s.length() == 0) {
56 return false;
57 }
58
59 try {
60 return Integer.parseInt(s) != 0;
61 } catch (NumberFormatException e) {
62
63 }
64
65 switch (Character.toUpperCase(s.charAt(0))) {
66 case 'T': case 'Y':
67 return true;
68 }
69 return false;
70 }
71 }
72
73
74
75
76 public static String[] toStringArray(Object value) {
77 if (value instanceof String[]) {
78 return (String[]) value;
79 }
80
81 if (value instanceof Iterable<?>) {
82 List<String> answer = new ArrayList<String>();
83 for (Object v: (Iterable<?>) value) {
84 if (v == null) {
85 answer.add(null);
86 } else {
87 answer.add(String.valueOf(v));
88 }
89 }
90 return answer.toArray(new String[answer.size()]);
91 }
92
93 return String.valueOf(value).split("[, \\t\\n\\r\\f\\e\\a]");
94 }
95
96 private static final String[] INTEGERS = {
97 "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
98 "10","11","12","13","14","15",
99 };
100
101 public static String toString(int value) {
102 if (value >= 0 && value < INTEGERS.length) {
103 return INTEGERS[value];
104 } else {
105 return Integer.toString(value);
106 }
107 }
108
109 private ConversionUtil() {
110
111 }
112 }