forked from troyzhxu/okhttps
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathToable.java
More file actions
80 lines (65 loc) · 1.57 KB
/
Toable.java
File metadata and controls
80 lines (65 loc) · 1.57 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
package cn.zhxu.okhttps;
import cn.zhxu.data.Array;
import cn.zhxu.data.Mapper;
import cn.zhxu.data.TypeRef;
import okio.ByteString;
import java.io.InputStream;
import java.io.Reader;
import java.lang.reflect.Type;
import java.util.List;
public interface Toable {
/**
* @return 消息体转字节流
*/
InputStream toByteStream();
/**
* @return 消息体转字节数组
*/
byte[] toBytes();
/**
* will be removed in next version
* @return ByteString
*/
@Deprecated
ByteString toByteString();
/**
* @return 消息体转字符流
*/
Reader toCharStream();
/**
* @return 消息体转字符串
*/
String toString();
/**
* @return 消息体转 Mapper 对象(不想定义 Java Bean 时使用)
*/
Mapper toMapper();
/**
* @return 消息体转 Array 数组(不想定义 Java Bean 时使用)
*/
Array toArray();
/**
* @param <T> 目标泛型
* @param type 目标类型
* @return 报文体Json文本转JavaBean
*/
<T> T toBean(Class<T> type);
/**
* @param <T> 目标泛型
* @param type 目标类型
* @return 报文体Json文本转JavaBean
*/
<T> T toBean(Type type);
/**
* @param <T> 目标泛型
* @param type 目标类型
* @return 报文体Json文本转JavaBean
*/
<T> T toBean(TypeRef<T> type);
/**
* @param <T> 目标泛型
* @param type 目标类型
* @return 报文体Json文本转JavaBean列表
*/
<T> List<T> toList(Class<T> type);
}