jimu-decompiled/sources/com/thoughtworks/xstream/XStreamer.java
2025-05-13 19:24:51 +02:00

280 lines
14 KiB
Java

package com.thoughtworks.xstream;
import com.thoughtworks.xstream.io.HierarchicalStreamDriver;
import com.thoughtworks.xstream.io.StreamException;
import com.thoughtworks.xstream.io.xml.XppDriver;
import com.thoughtworks.xstream.security.TypeHierarchyPermission;
import com.thoughtworks.xstream.security.TypePermission;
import com.thoughtworks.xstream.security.WildcardTypePermission;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.ObjectStreamException;
import java.io.Reader;
import java.io.StringReader;
import java.io.StringWriter;
import java.io.Writer;
/* loaded from: classes.dex */
public class XStreamer {
private static final TypePermission[] PERMISSIONS;
static /* synthetic */ Class class$com$thoughtworks$xstream$MarshallingStrategy;
static /* synthetic */ Class class$com$thoughtworks$xstream$XStream;
static /* synthetic */ Class class$com$thoughtworks$xstream$converters$ConverterLookup;
static /* synthetic */ Class class$com$thoughtworks$xstream$converters$ConverterMatcher;
static /* synthetic */ Class class$com$thoughtworks$xstream$converters$ConverterRegistry;
static /* synthetic */ Class class$com$thoughtworks$xstream$converters$MarshallingContext;
static /* synthetic */ Class class$com$thoughtworks$xstream$converters$UnmarshallingContext;
static /* synthetic */ Class class$com$thoughtworks$xstream$converters$javabean$JavaBeanProvider;
static /* synthetic */ Class class$com$thoughtworks$xstream$converters$reflection$FieldKeySorter;
static /* synthetic */ Class class$com$thoughtworks$xstream$converters$reflection$ReflectionProvider;
static /* synthetic */ Class class$com$thoughtworks$xstream$core$JVM;
static /* synthetic */ Class class$com$thoughtworks$xstream$io$HierarchicalStreamDriver;
static /* synthetic */ Class class$com$thoughtworks$xstream$io$naming$NameCoder;
static /* synthetic */ Class class$com$thoughtworks$xstream$mapper$Mapper;
static /* synthetic */ Class class$com$thoughtworks$xstream$security$TypePermission;
static /* synthetic */ Class class$javax$xml$datatype$DatatypeFactory;
static {
TypePermission[] typePermissionArr = new TypePermission[16];
Class cls = class$com$thoughtworks$xstream$converters$ConverterMatcher;
if (cls == null) {
cls = class$("com.thoughtworks.xstream.converters.ConverterMatcher");
class$com$thoughtworks$xstream$converters$ConverterMatcher = cls;
}
typePermissionArr[0] = new TypeHierarchyPermission(cls);
Class cls2 = class$com$thoughtworks$xstream$mapper$Mapper;
if (cls2 == null) {
cls2 = class$("com.thoughtworks.xstream.mapper.Mapper");
class$com$thoughtworks$xstream$mapper$Mapper = cls2;
}
typePermissionArr[1] = new TypeHierarchyPermission(cls2);
Class cls3 = class$com$thoughtworks$xstream$XStream;
if (cls3 == null) {
cls3 = class$("com.thoughtworks.xstream.XStream");
class$com$thoughtworks$xstream$XStream = cls3;
}
typePermissionArr[2] = new TypeHierarchyPermission(cls3);
Class cls4 = class$com$thoughtworks$xstream$converters$reflection$ReflectionProvider;
if (cls4 == null) {
cls4 = class$("com.thoughtworks.xstream.converters.reflection.ReflectionProvider");
class$com$thoughtworks$xstream$converters$reflection$ReflectionProvider = cls4;
}
typePermissionArr[3] = new TypeHierarchyPermission(cls4);
Class cls5 = class$com$thoughtworks$xstream$converters$javabean$JavaBeanProvider;
if (cls5 == null) {
cls5 = class$("com.thoughtworks.xstream.converters.javabean.JavaBeanProvider");
class$com$thoughtworks$xstream$converters$javabean$JavaBeanProvider = cls5;
}
typePermissionArr[4] = new TypeHierarchyPermission(cls5);
Class cls6 = class$com$thoughtworks$xstream$converters$reflection$FieldKeySorter;
if (cls6 == null) {
cls6 = class$("com.thoughtworks.xstream.converters.reflection.FieldKeySorter");
class$com$thoughtworks$xstream$converters$reflection$FieldKeySorter = cls6;
}
typePermissionArr[5] = new TypeHierarchyPermission(cls6);
Class cls7 = class$com$thoughtworks$xstream$converters$ConverterLookup;
if (cls7 == null) {
cls7 = class$("com.thoughtworks.xstream.converters.ConverterLookup");
class$com$thoughtworks$xstream$converters$ConverterLookup = cls7;
}
typePermissionArr[6] = new TypeHierarchyPermission(cls7);
Class cls8 = class$com$thoughtworks$xstream$converters$ConverterRegistry;
if (cls8 == null) {
cls8 = class$("com.thoughtworks.xstream.converters.ConverterRegistry");
class$com$thoughtworks$xstream$converters$ConverterRegistry = cls8;
}
typePermissionArr[7] = new TypeHierarchyPermission(cls8);
Class cls9 = class$com$thoughtworks$xstream$io$HierarchicalStreamDriver;
if (cls9 == null) {
cls9 = class$("com.thoughtworks.xstream.io.HierarchicalStreamDriver");
class$com$thoughtworks$xstream$io$HierarchicalStreamDriver = cls9;
}
typePermissionArr[8] = new TypeHierarchyPermission(cls9);
Class cls10 = class$com$thoughtworks$xstream$MarshallingStrategy;
if (cls10 == null) {
cls10 = class$("com.thoughtworks.xstream.MarshallingStrategy");
class$com$thoughtworks$xstream$MarshallingStrategy = cls10;
}
typePermissionArr[9] = new TypeHierarchyPermission(cls10);
Class cls11 = class$com$thoughtworks$xstream$converters$MarshallingContext;
if (cls11 == null) {
cls11 = class$("com.thoughtworks.xstream.converters.MarshallingContext");
class$com$thoughtworks$xstream$converters$MarshallingContext = cls11;
}
typePermissionArr[10] = new TypeHierarchyPermission(cls11);
Class cls12 = class$com$thoughtworks$xstream$converters$UnmarshallingContext;
if (cls12 == null) {
cls12 = class$("com.thoughtworks.xstream.converters.UnmarshallingContext");
class$com$thoughtworks$xstream$converters$UnmarshallingContext = cls12;
}
typePermissionArr[11] = new TypeHierarchyPermission(cls12);
Class cls13 = class$com$thoughtworks$xstream$io$naming$NameCoder;
if (cls13 == null) {
cls13 = class$("com.thoughtworks.xstream.io.naming.NameCoder");
class$com$thoughtworks$xstream$io$naming$NameCoder = cls13;
}
typePermissionArr[12] = new TypeHierarchyPermission(cls13);
Class cls14 = class$com$thoughtworks$xstream$security$TypePermission;
if (cls14 == null) {
cls14 = class$("com.thoughtworks.xstream.security.TypePermission");
class$com$thoughtworks$xstream$security$TypePermission = cls14;
}
typePermissionArr[13] = new TypeHierarchyPermission(cls14);
String[] strArr = new String[1];
StringBuffer stringBuffer = new StringBuffer();
Class cls15 = class$com$thoughtworks$xstream$core$JVM;
if (cls15 == null) {
cls15 = class$("com.thoughtworks.xstream.core.JVM");
class$com$thoughtworks$xstream$core$JVM = cls15;
}
stringBuffer.append(cls15.getPackage().getName());
stringBuffer.append(".**");
strArr[0] = stringBuffer.toString();
typePermissionArr[14] = new WildcardTypePermission(strArr);
Class cls16 = class$javax$xml$datatype$DatatypeFactory;
if (cls16 == null) {
cls16 = class$("javax.xml.datatype.DatatypeFactory");
class$javax$xml$datatype$DatatypeFactory = cls16;
}
typePermissionArr[15] = new TypeHierarchyPermission(cls16);
PERMISSIONS = typePermissionArr;
}
static /* synthetic */ Class class$(String str) {
try {
return Class.forName(str);
} catch (ClassNotFoundException e) {
throw new NoClassDefFoundError().initCause(e);
}
}
public static TypePermission[] getDefaultPermissions() {
return (TypePermission[]) PERMISSIONS.clone();
}
public Object fromXML(String str) throws ClassNotFoundException, ObjectStreamException {
try {
return fromXML(new StringReader(str));
} catch (ObjectStreamException e) {
throw e;
} catch (IOException e2) {
throw new StreamException("Unexpected IO error from a StringReader", e2);
}
}
public String toXML(XStream xStream, Object obj) throws ObjectStreamException {
StringWriter stringWriter = new StringWriter();
try {
toXML(xStream, obj, stringWriter);
return stringWriter.toString();
} catch (ObjectStreamException e) {
throw e;
} catch (IOException e2) {
throw new StreamException("Unexpected IO error from a StringWriter", e2);
}
}
public Object fromXML(String str, TypePermission[] typePermissionArr) throws ClassNotFoundException, ObjectStreamException {
try {
return fromXML(new StringReader(str), typePermissionArr);
} catch (ObjectStreamException e) {
throw e;
} catch (IOException e2) {
throw new StreamException("Unexpected IO error from a StringReader", e2);
}
}
public void toXML(XStream xStream, Object obj, Writer writer) throws IOException {
XStream xStream2 = new XStream();
XStream.setupDefaultSecurity(xStream2);
ObjectOutputStream createObjectOutputStream = xStream2.createObjectOutputStream(writer);
try {
createObjectOutputStream.writeObject(xStream);
createObjectOutputStream.flush();
xStream.toXML(obj, writer);
} finally {
createObjectOutputStream.close();
}
}
public Object fromXML(HierarchicalStreamDriver hierarchicalStreamDriver, String str) throws ClassNotFoundException, ObjectStreamException {
try {
return fromXML(hierarchicalStreamDriver, new StringReader(str));
} catch (ObjectStreamException e) {
throw e;
} catch (IOException e2) {
throw new StreamException("Unexpected IO error from a StringReader", e2);
}
}
public Object fromXML(HierarchicalStreamDriver hierarchicalStreamDriver, String str, TypePermission[] typePermissionArr) throws ClassNotFoundException, ObjectStreamException {
try {
return fromXML(hierarchicalStreamDriver, new StringReader(str), typePermissionArr);
} catch (ObjectStreamException e) {
throw e;
} catch (IOException e2) {
throw new StreamException("Unexpected IO error from a StringReader", e2);
}
}
public Object fromXML(Reader reader) throws IOException, ClassNotFoundException {
return fromXML(new XppDriver(), reader);
}
public Object fromXML(Reader reader, TypePermission[] typePermissionArr) throws IOException, ClassNotFoundException {
return fromXML(new XppDriver(), reader, typePermissionArr);
}
public Object fromXML(HierarchicalStreamDriver hierarchicalStreamDriver, Reader reader) throws IOException, ClassNotFoundException {
return fromXML(hierarchicalStreamDriver, reader, PERMISSIONS);
}
/* JADX WARN: Code restructure failed: missing block: B:19:0x0036, code lost:
r4 = move-exception;
*/
/* JADX WARN: Code restructure failed: missing block: B:21:0x003a, code lost:
throw r4;
*/
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct code enable 'Show inconsistent code' option in preferences
*/
public java.lang.Object fromXML(com.thoughtworks.xstream.io.HierarchicalStreamDriver r4, java.io.Reader r5, com.thoughtworks.xstream.security.TypePermission[] r6) throws java.io.IOException, java.lang.ClassNotFoundException {
/*
r3 = this;
com.thoughtworks.xstream.XStream r0 = new com.thoughtworks.xstream.XStream
r0.<init>(r4)
com.thoughtworks.xstream.XStream.setupDefaultSecurity(r0)
r1 = 0
L9:
int r2 = r6.length
if (r1 >= r2) goto L14
r2 = r6[r1]
r0.addPermission(r2)
int r1 = r1 + 1
goto L9
L14:
com.thoughtworks.xstream.io.HierarchicalStreamReader r4 = r4.createReader(r5)
java.io.ObjectInputStream r5 = r0.createObjectInputStream(r4)
java.lang.Object r6 = r5.readObject() // Catch: java.lang.Throwable -> L36
com.thoughtworks.xstream.XStream r6 = (com.thoughtworks.xstream.XStream) r6 // Catch: java.lang.Throwable -> L36
java.io.ObjectInputStream r4 = r6.createObjectInputStream(r4) // Catch: java.lang.Throwable -> L36
java.lang.Object r6 = r4.readObject() // Catch: java.lang.Throwable -> L31
r4.close() // Catch: java.lang.Throwable -> L36
r5.close()
return r6
L31:
r6 = move-exception
r4.close() // Catch: java.lang.Throwable -> L36
throw r6 // Catch: java.lang.Throwable -> L36
L36:
r4 = move-exception
r5.close()
throw r4
*/
throw new UnsupportedOperationException("Method not decompiled: com.thoughtworks.xstream.XStreamer.fromXML(com.thoughtworks.xstream.io.HierarchicalStreamDriver, java.io.Reader, com.thoughtworks.xstream.security.TypePermission[]):java.lang.Object");
}
}