From f936325b0ce67301f0cabb645c823aac03f67bf1 Mon Sep 17 00:00:00 2001 From: kevinzhwl Date: Thu, 26 Oct 2023 09:34:16 +0000 Subject: [PATCH] =?UTF-8?q?:art:=20=E6=8F=90=E4=BE=9B=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E6=96=B9=E4=BE=BF=E7=AC=AC=E4=B8=89=E6=96=B9=E7=B1=BB=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=20XStreamTransformer=E8=BF=9B=E8=A1=8C=E5=BA=8F?= =?UTF-8?q?=E5=88=97=E5=8C=96,=20=E4=BB=A5=E5=8F=8A=E6=94=AF=E6=8C=81XStre?= =?UTF-8?q?am=201.4.18=20=E4=BB=A5=E4=B8=8A=E5=A2=9E=E5=8A=A0=E5=AE=89?= =?UTF-8?q?=E5=85=A8=E8=AE=B8=E5=8F=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wx/miniapp/util/xml/XStreamTransformer.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/util/xml/XStreamTransformer.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/util/xml/XStreamTransformer.java index f0961d5ed..f36d8c8fb 100644 --- a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/util/xml/XStreamTransformer.java +++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/util/xml/XStreamTransformer.java @@ -54,7 +54,22 @@ public class XStreamTransformer { public static void register(Class clz, XStream xStream) { CLASS_2_XSTREAM_INSTANCE.put(clz, xStream); } + /** + * 注册第三方的该类及其子类. + * 便利第三方类使用 XStreamTransformer进行序列化, 以及支持XStream 1.4.18 以上增加安全许可 + * @param clz 要注册的类 + */ + public static void registerExtendClass(Class clz){ + XStream xstream = XStreamInitializer.getInstance(); + Class[] innerClz = getInnerClasses(clz); + xstream.processAnnotations(clz); + xstream.processAnnotations(innerClz); + xstream.allowTypes(new Class[]{clz}); + xstream.allowTypes(innerClz); + + register(clz, xstream); + } /** * 会自动注册该类及其子类. *