62 lines
2.3 KiB
Java
62 lines
2.3 KiB
Java
package com.thoughtworks.xstream.converters.extended;
|
|
|
|
import com.thoughtworks.xstream.converters.ConversionException;
|
|
import com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter;
|
|
import com.thoughtworks.xstream.core.ClassLoaderReference;
|
|
import com.thoughtworks.xstream.mapper.CannotResolveClassException;
|
|
import com.thoughtworks.xstream.mapper.DefaultMapper;
|
|
import com.thoughtworks.xstream.mapper.Mapper;
|
|
|
|
/* loaded from: classes.dex */
|
|
public class JavaClassConverter extends AbstractSingleValueConverter {
|
|
static /* synthetic */ Class class$java$lang$Class;
|
|
private Mapper mapper;
|
|
|
|
public JavaClassConverter(ClassLoaderReference classLoaderReference) {
|
|
this(new DefaultMapper(classLoaderReference));
|
|
}
|
|
|
|
static /* synthetic */ Class class$(String str) {
|
|
try {
|
|
return Class.forName(str);
|
|
} catch (ClassNotFoundException e) {
|
|
throw new NoClassDefFoundError().initCause(e);
|
|
}
|
|
}
|
|
|
|
@Override // com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter, com.thoughtworks.xstream.converters.ConverterMatcher
|
|
public boolean canConvert(Class cls) {
|
|
Class cls2 = class$java$lang$Class;
|
|
if (cls2 == null) {
|
|
cls2 = class$("java.lang.Class");
|
|
class$java$lang$Class = cls2;
|
|
}
|
|
return cls2.equals(cls);
|
|
}
|
|
|
|
@Override // com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter, com.thoughtworks.xstream.converters.SingleValueConverter
|
|
public Object fromString(String str) {
|
|
try {
|
|
return this.mapper.realClass(str);
|
|
} catch (CannotResolveClassException e) {
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
stringBuffer.append("Cannot load java class ");
|
|
stringBuffer.append(str);
|
|
throw new ConversionException(stringBuffer.toString(), e.getCause());
|
|
}
|
|
}
|
|
|
|
@Override // com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter, com.thoughtworks.xstream.converters.SingleValueConverter
|
|
public String toString(Object obj) {
|
|
return this.mapper.serializedClass((Class) obj);
|
|
}
|
|
|
|
public JavaClassConverter(ClassLoader classLoader) {
|
|
this(new ClassLoaderReference(classLoader));
|
|
}
|
|
|
|
protected JavaClassConverter(Mapper mapper) {
|
|
this.mapper = mapper;
|
|
}
|
|
}
|