File tree Expand file tree Collapse file tree 2 files changed +61
-47
lines changed
okhttps-datas/okhttps-data/src/main/java/com/ejlchina/okhttps
okhttps/src/main/java/com/ejlchina/okhttps Expand file tree Collapse file tree 2 files changed +61
-47
lines changed Original file line number Diff line number Diff line change 1+ package com .ejlchina .okhttps ;
2+
3+ import java .io .InputStream ;
4+ import java .lang .reflect .Type ;
5+ import java .nio .charset .Charset ;
6+ import java .util .List ;
7+
8+ /**
9+ * 数据转换器
10+ * @since 2.5.2
11+ */
12+ public interface DataConvertor {
13+
14+ /**
15+ * 解析 Mapper
16+ * @param in JSON 输入流
17+ * @param charset 编码格式
18+ * @return Mapper
19+ */
20+ Mapper toMapper (InputStream in , Charset charset );
21+
22+ /**
23+ * 解析 Array
24+ * @param in JSON 输入流
25+ * @param charset 编码格式
26+ * @return Array
27+ */
28+ Array toArray (InputStream in , Charset charset );
29+
30+ /**
31+ * 将 Java 对象序列化为字节数组
32+ * @param object Java 对象
33+ * @param charset 编码格式
34+ * @return 字节数组
35+ */
36+ byte [] serialize (Object object , Charset charset );
37+
38+ /**
39+ * 解析 Java Bean
40+ * @param <T> 目标泛型
41+ * @param type 目标类型
42+ * @param in JSON 输入流
43+ * @param charset 编码格式
44+ * @return Java Bean
45+ */
46+ <T > T toBean (Type type , InputStream in , Charset charset );
47+
48+ /**
49+ * 解析为 Java List
50+ * @param <T> 目标泛型
51+ * @param type 目标类型
52+ * @param in JSON 输入流
53+ * @param charset 编码格式
54+ * @return Java List
55+ */
56+ <T > List <T > toList (Class <T > type , InputStream in , Charset charset );
57+
58+ }
Original file line number Diff line number Diff line change 99/**
1010 * 消息转换器接口
1111 */
12- public interface MsgConvertor {
12+ public interface MsgConvertor extends DataConvertor {
1313
1414 /**
1515 * 消息的媒体类型
1616 * @return 媒体类型
1717 */
1818 String mediaType ();
1919
20- /**
21- * 解析 Mapper
22- * @param in JSON 输入流
23- * @param charset 编码格式
24- * @return Mapper
25- */
26- Mapper toMapper (InputStream in , Charset charset );
27-
28- /**
29- * 解析 Array
30- * @param in JSON 输入流
31- * @param charset 编码格式
32- * @return Array
33- */
34- Array toArray (InputStream in , Charset charset );
35-
36- /**
37- * 将 Java 对象序列化为字节数组
38- * @param object Java 对象
39- * @param charset 编码格式
40- * @return 字节数组
41- */
42- byte [] serialize (Object object , Charset charset );
43-
44- /**
45- * 解析 Java Bean
46- * @param <T> 目标泛型
47- * @param type 目标类型
48- * @param in JSON 输入流
49- * @param charset 编码格式
50- * @return Java Bean
51- */
52- <T > T toBean (Type type , InputStream in , Charset charset );
53-
54- /**
55- * 解析为 Java List
56- * @param <T> 目标泛型
57- * @param type 目标类型
58- * @param in JSON 输入流
59- * @param charset 编码格式
60- * @return Java List
61- */
62- <T > List <T > toList (Class <T > type , InputStream in , Charset charset );
63-
6420 /**
6521 * 表单转换器,可用于自动系列化表单参数
6622 */
6723 class FormConvertor implements MsgConvertor {
6824
69- private MsgConvertor convertor ;
25+ private final DataConvertor convertor ;
7026
71- public FormConvertor (MsgConvertor convertor ) {
27+ public FormConvertor (DataConvertor convertor ) {
7228 this .convertor = convertor ;
7329 }
7430
You can’t perform that action at this time.
0 commit comments