From 721d1dba3fbc12a1fb2d4bc3ee1d310fc4063ac1 Mon Sep 17 00:00:00 2001 From: kevinzhwl Date: Thu, 19 Oct 2023 18:54:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BE=BF=E5=88=A9=E7=AC=AC=E4=B8=89=E6=96=B9?= =?UTF-8?q?=E7=B1=BB=E4=BD=BF=E7=94=A8=20XStreamTransformer=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E5=BA=8F=E5=88=97=E5=8C=96?= 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); + } /** * 会自动注册该类及其子类. * -- Gitee