Skip to content

Commit 3d07676

Browse files
committed
#517 将XStreamTransformer的register方法设为public,方便用户自定义扩展
1 parent e86adc1 commit 3d07676

File tree

4 files changed

+51
-26
lines changed

4 files changed

+51
-26
lines changed

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/util/xml/XStreamTransformer.java

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,19 @@
11
package me.chanjar.weixin.cp.util.xml;
22

3-
import com.thoughtworks.xstream.XStream;
4-
import me.chanjar.weixin.common.util.xml.XStreamInitializer;
5-
import me.chanjar.weixin.cp.bean.*;
6-
73
import java.io.InputStream;
84
import java.util.HashMap;
95
import java.util.Map;
106

7+
import com.thoughtworks.xstream.XStream;
8+
import me.chanjar.weixin.common.util.xml.XStreamInitializer;
9+
import me.chanjar.weixin.cp.bean.WxCpXmlMessage;
10+
import me.chanjar.weixin.cp.bean.WxCpXmlOutImageMessage;
11+
import me.chanjar.weixin.cp.bean.WxCpXmlOutMessage;
12+
import me.chanjar.weixin.cp.bean.WxCpXmlOutNewsMessage;
13+
import me.chanjar.weixin.cp.bean.WxCpXmlOutTextMessage;
14+
import me.chanjar.weixin.cp.bean.WxCpXmlOutVideoMessage;
15+
import me.chanjar.weixin.cp.bean.WxCpXmlOutVoiceMessage;
16+
1117
public class XStreamTransformer {
1218

1319
protected static final Map<Class, XStream> CLASS_2_XSTREAM_INSTANCE = configXStreamInstance();
@@ -38,7 +44,7 @@ public static void register(Class clz, XStream xStream) {
3844
}
3945

4046
/**
41-
* pojo -> xml
47+
* pojo -> xml.
4248
*/
4349
public static <T> String toXml(Class<T> clazz, T object) {
4450
return CLASS_2_XSTREAM_INSTANCE.get(clazz).toXML(object);

weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/util/xml/XStreamTransformer.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
package cn.binarywang.wx.miniapp.util.xml;
22

3+
import java.io.InputStream;
4+
import java.util.ArrayList;
5+
import java.util.Arrays;
6+
import java.util.HashMap;
7+
import java.util.List;
8+
import java.util.Map;
9+
310
import cn.binarywang.wx.miniapp.bean.WxMaMessage;
411
import com.thoughtworks.xstream.XStream;
512
import me.chanjar.weixin.common.util.xml.XStreamInitializer;
613

7-
import java.io.InputStream;
8-
import java.util.*;
9-
1014
/**
1115
* @author <a href="https://github.com/binarywang">Binary Wang</a>
1216
*/
@@ -45,7 +49,7 @@ public static <T> String toXml(Class<T> clazz, T object) {
4549
* @param clz 类型
4650
* @param xStream xml解析器
4751
*/
48-
private static void register(Class<?> clz, XStream xStream) {
52+
public static void register(Class<?> clz, XStream xStream) {
4953
CLASS_2_XSTREAM_INSTANCE.put(clz, xStream);
5054
}
5155

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/xml/XStreamTransformer.java

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,22 @@
11
package me.chanjar.weixin.mp.util.xml;
22

3+
import java.io.InputStream;
4+
import java.util.ArrayList;
5+
import java.util.Arrays;
6+
import java.util.HashMap;
7+
import java.util.List;
8+
import java.util.Map;
9+
310
import com.thoughtworks.xstream.XStream;
411
import me.chanjar.weixin.common.util.xml.XStreamInitializer;
5-
import me.chanjar.weixin.mp.bean.message.*;
6-
7-
import java.io.InputStream;
8-
import java.util.*;
12+
import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
13+
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutImageMessage;
14+
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMusicMessage;
15+
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutNewsMessage;
16+
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutTextMessage;
17+
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutTransferKefuMessage;
18+
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutVideoMessage;
19+
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutVoiceMessage;
920

1021
public class XStreamTransformer {
1122
private static final Map<Class<?>, XStream> CLASS_2_XSTREAM_INSTANCE = new HashMap<>();
@@ -22,7 +33,7 @@ public class XStreamTransformer {
2233
}
2334

2435
/**
25-
* xml -> pojo
36+
* xml -> pojo.
2637
*/
2738
@SuppressWarnings("unchecked")
2839
public static <T> T fromXml(Class<T> clazz, String xml) {
@@ -37,24 +48,24 @@ public static <T> T fromXml(Class<T> clazz, InputStream is) {
3748
}
3849

3950
/**
40-
* pojo -> xml
51+
* pojo -> xml.
4152
*/
4253
public static <T> String toXml(Class<T> clazz, T object) {
4354
return CLASS_2_XSTREAM_INSTANCE.get(clazz).toXML(object);
4455
}
4556

4657
/**
47-
* 注册扩展消息的解析器
58+
* 注册扩展消息的解析器.
4859
*
4960
* @param clz 类型
5061
* @param xStream xml解析器
5162
*/
52-
private static void register(Class<?> clz, XStream xStream) {
63+
public static void register(Class<?> clz, XStream xStream) {
5364
CLASS_2_XSTREAM_INSTANCE.put(clz, xStream);
5465
}
5566

5667
/**
57-
* 会自动注册该类及其子类
68+
* 会自动注册该类及其子类.
5869
*
5970
* @param clz 要注册的类
6071
*/

weixin-java-open/src/main/java/me/chanjar/weixin/open/util/xml/XStreamTransformer.java

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
package me.chanjar.weixin.open.util.xml;
22

3+
import java.io.InputStream;
4+
import java.util.ArrayList;
5+
import java.util.Arrays;
6+
import java.util.HashMap;
7+
import java.util.List;
8+
import java.util.Map;
9+
310
import com.thoughtworks.xstream.XStream;
411
import me.chanjar.weixin.common.util.xml.XStreamInitializer;
512
import me.chanjar.weixin.open.bean.message.WxOpenXmlMessage;
613

7-
import java.io.InputStream;
8-
import java.util.*;
9-
1014
/**
1115
* @author <a href="https://github.com/007gzs">007</a>
1216
*/
@@ -18,7 +22,7 @@ public class XStreamTransformer {
1822
}
1923

2024
/**
21-
* xml -> pojo
25+
* xml -> pojo.
2226
*/
2327
@SuppressWarnings("unchecked")
2428
public static <T> T fromXml(Class<T> clazz, String xml) {
@@ -33,24 +37,24 @@ public static <T> T fromXml(Class<T> clazz, InputStream is) {
3337
}
3438

3539
/**
36-
* pojo -> xml
40+
* pojo -> xml.
3741
*/
3842
public static <T> String toXml(Class<T> clazz, T object) {
3943
return CLASS_2_XSTREAM_INSTANCE.get(clazz).toXML(object);
4044
}
4145

4246
/**
43-
* 注册扩展消息的解析器
47+
* 注册扩展消息的解析器.
4448
*
4549
* @param clz 类型
4650
* @param xStream xml解析器
4751
*/
48-
private static void register(Class<?> clz, XStream xStream) {
52+
public static void register(Class<?> clz, XStream xStream) {
4953
CLASS_2_XSTREAM_INSTANCE.put(clz, xStream);
5054
}
5155

5256
/**
53-
* 会自动注册该类及其子类
57+
* 会自动注册该类及其子类.
5458
*
5559
* @param clz 要注册的类
5660
*/

0 commit comments

Comments
 (0)