DefaultConverterLoader.java
6.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
package com.taover.easyexcel.converters;
import java.util.HashMap;
import java.util.Map;
import com.taover.easyexcel.converters.bigdecimal.BigDecimalBooleanConverter;
import com.taover.easyexcel.converters.bigdecimal.BigDecimalNumberConverter;
import com.taover.easyexcel.converters.bigdecimal.BigDecimalStringConverter;
import com.taover.easyexcel.converters.booleanconverter.BooleanBooleanConverter;
import com.taover.easyexcel.converters.booleanconverter.BooleanNumberConverter;
import com.taover.easyexcel.converters.booleanconverter.BooleanStringConverter;
import com.taover.easyexcel.converters.bytearray.BoxingByteArrayImageConverter;
import com.taover.easyexcel.converters.bytearray.ByteArrayImageConverter;
import com.taover.easyexcel.converters.byteconverter.ByteBooleanConverter;
import com.taover.easyexcel.converters.byteconverter.ByteNumberConverter;
import com.taover.easyexcel.converters.byteconverter.ByteStringConverter;
import com.taover.easyexcel.converters.date.DateNumberConverter;
import com.taover.easyexcel.converters.date.DateStringConverter;
import com.taover.easyexcel.converters.doubleconverter.DoubleBooleanConverter;
import com.taover.easyexcel.converters.doubleconverter.DoubleNumberConverter;
import com.taover.easyexcel.converters.doubleconverter.DoubleStringConverter;
import com.taover.easyexcel.converters.file.FileImageConverter;
import com.taover.easyexcel.converters.floatconverter.FloatBooleanConverter;
import com.taover.easyexcel.converters.floatconverter.FloatNumberConverter;
import com.taover.easyexcel.converters.floatconverter.FloatStringConverter;
import com.taover.easyexcel.converters.inputstream.InputStreamImageConverter;
import com.taover.easyexcel.converters.integer.IntegerBooleanConverter;
import com.taover.easyexcel.converters.integer.IntegerNumberConverter;
import com.taover.easyexcel.converters.integer.IntegerStringConverter;
import com.taover.easyexcel.converters.longconverter.LongBooleanConverter;
import com.taover.easyexcel.converters.longconverter.LongNumberConverter;
import com.taover.easyexcel.converters.longconverter.LongStringConverter;
import com.taover.easyexcel.converters.shortconverter.ShortBooleanConverter;
import com.taover.easyexcel.converters.shortconverter.ShortNumberConverter;
import com.taover.easyexcel.converters.shortconverter.ShortStringConverter;
import com.taover.easyexcel.converters.string.StringBooleanConverter;
import com.taover.easyexcel.converters.string.StringErrorConverter;
import com.taover.easyexcel.converters.string.StringNumberConverter;
import com.taover.easyexcel.converters.string.StringStringConverter;
import com.taover.easyexcel.converters.url.UrlImageConverter;
/**
* Load default handler
*
* @author Jiaju Zhuang
*/
public class DefaultConverterLoader {
private static Map<String, Converter> defaultWriteConverter;
private static Map<String, Converter> allConverter;
static {
initDefaultWriteConverter();
initAllConverter();
}
private static void initAllConverter() {
allConverter = new HashMap<String, Converter>(64);
putAllConverter(new BigDecimalBooleanConverter());
putAllConverter(new BigDecimalNumberConverter());
putAllConverter(new BigDecimalStringConverter());
putAllConverter(new BooleanBooleanConverter());
putAllConverter(new BooleanNumberConverter());
putAllConverter(new BooleanStringConverter());
putAllConverter(new ByteBooleanConverter());
putAllConverter(new ByteNumberConverter());
putAllConverter(new ByteStringConverter());
putAllConverter(new DateNumberConverter());
putAllConverter(new DateStringConverter());
putAllConverter(new DoubleBooleanConverter());
putAllConverter(new DoubleNumberConverter());
putAllConverter(new DoubleStringConverter());
putAllConverter(new FloatBooleanConverter());
putAllConverter(new FloatNumberConverter());
putAllConverter(new FloatStringConverter());
putAllConverter(new IntegerBooleanConverter());
putAllConverter(new IntegerNumberConverter());
putAllConverter(new IntegerStringConverter());
putAllConverter(new LongBooleanConverter());
putAllConverter(new LongNumberConverter());
putAllConverter(new LongStringConverter());
putAllConverter(new ShortBooleanConverter());
putAllConverter(new ShortNumberConverter());
putAllConverter(new ShortStringConverter());
putAllConverter(new StringBooleanConverter());
putAllConverter(new StringNumberConverter());
putAllConverter(new StringStringConverter());
putAllConverter(new StringErrorConverter());
}
private static void initDefaultWriteConverter() {
defaultWriteConverter = new HashMap<String, Converter>(32);
putWriteConverter(new BigDecimalNumberConverter());
putWriteConverter(new BooleanBooleanConverter());
putWriteConverter(new ByteNumberConverter());
putWriteConverter(new DateStringConverter());
putWriteConverter(new DoubleNumberConverter());
putWriteConverter(new FloatNumberConverter());
putWriteConverter(new IntegerNumberConverter());
putWriteConverter(new LongNumberConverter());
putWriteConverter(new ShortNumberConverter());
putWriteConverter(new StringStringConverter());
putWriteConverter(new FileImageConverter());
putWriteConverter(new InputStreamImageConverter());
putWriteConverter(new ByteArrayImageConverter());
putWriteConverter(new BoxingByteArrayImageConverter());
putWriteConverter(new UrlImageConverter());
}
/**
* Load default write converter
*
* @return
*/
public static Map<String, Converter> loadDefaultWriteConverter() {
return defaultWriteConverter;
}
private static void putWriteConverter(Converter converter) {
defaultWriteConverter.put(ConverterKeyBuild.buildKey(converter.supportJavaTypeKey()), converter);
}
/**
* Load default read converter
*
* @return
*/
public static Map<String, Converter> loadDefaultReadConverter() {
return loadAllConverter();
}
/**
* Load all converter
*
* @return
*/
public static Map<String, Converter> loadAllConverter() {
return allConverter;
}
private static void putAllConverter(Converter converter) {
allConverter.put(ConverterKeyBuild.buildKey(converter.supportJavaTypeKey(), converter.supportExcelTypeKey()),
converter);
}
}