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

48 lines
1.9 KiB
Java

package com.thoughtworks.xstream.converters.extended;
import com.thoughtworks.xstream.converters.ConversionException;
import com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter;
import java.io.File;
import java.net.URI;
import java.net.URISyntaxException;
import java.nio.file.FileSystems;
import java.nio.file.InvalidPathException;
import java.nio.file.Path;
import java.nio.file.Paths;
/* loaded from: classes.dex */
public class PathConverter extends AbstractSingleValueConverter {
@Override // com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter, com.thoughtworks.xstream.converters.ConverterMatcher
public boolean canConvert(Class cls) {
return cls != null && Path.class.isAssignableFrom(cls);
}
@Override // com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter, com.thoughtworks.xstream.converters.SingleValueConverter
public String toString(Object obj) {
Path path = (Path) obj;
if (path.getFileSystem() != FileSystems.getDefault()) {
return path.toUri().toString();
}
String path2 = path.toString();
char c = File.separatorChar;
return c != '/' ? path2.replace(c, '/') : path2;
}
@Override // com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter, com.thoughtworks.xstream.converters.SingleValueConverter
public Path fromString(String str) {
try {
try {
URI uri = new URI(str);
if (uri.getScheme() != null && uri.getScheme().length() != 1) {
return Paths.get(uri);
}
return Paths.get(File.separatorChar != '/' ? str.replace('/', File.separatorChar) : str, new String[0]);
} catch (URISyntaxException unused) {
return Paths.get(str, new String[0]);
}
} catch (InvalidPathException e) {
throw new ConversionException(e);
}
}
}