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

60 lines
2.3 KiB
Java

package com.thoughtworks.xstream.converters.extended;
import com.thoughtworks.xstream.converters.Converter;
import com.thoughtworks.xstream.converters.MarshallingContext;
import com.thoughtworks.xstream.converters.UnmarshallingContext;
import com.thoughtworks.xstream.io.HierarchicalStreamReader;
import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
import java.util.regex.Pattern;
/* loaded from: classes.dex */
public class RegexPatternConverter implements Converter {
static /* synthetic */ Class class$java$util$regex$Pattern;
public RegexPatternConverter() {
}
static /* synthetic */ Class class$(String str) {
try {
return Class.forName(str);
} catch (ClassNotFoundException e) {
throw new NoClassDefFoundError().initCause(e);
}
}
@Override // com.thoughtworks.xstream.converters.ConverterMatcher
public boolean canConvert(Class cls) {
Class cls2 = class$java$util$regex$Pattern;
if (cls2 == null) {
cls2 = class$("java.util.regex.Pattern");
class$java$util$regex$Pattern = cls2;
}
return cls == cls2;
}
@Override // com.thoughtworks.xstream.converters.Converter
public void marshal(Object obj, HierarchicalStreamWriter hierarchicalStreamWriter, MarshallingContext marshallingContext) {
Pattern pattern = (Pattern) obj;
hierarchicalStreamWriter.startNode("pattern");
hierarchicalStreamWriter.setValue(pattern.pattern());
hierarchicalStreamWriter.endNode();
hierarchicalStreamWriter.startNode("flags");
hierarchicalStreamWriter.setValue(String.valueOf(pattern.flags()));
hierarchicalStreamWriter.endNode();
}
@Override // com.thoughtworks.xstream.converters.Converter
public Object unmarshal(HierarchicalStreamReader hierarchicalStreamReader, UnmarshallingContext unmarshallingContext) {
hierarchicalStreamReader.moveDown();
String value = hierarchicalStreamReader.getValue();
hierarchicalStreamReader.moveUp();
hierarchicalStreamReader.moveDown();
int parseInt = Integer.parseInt(hierarchicalStreamReader.getValue());
hierarchicalStreamReader.moveUp();
return Pattern.compile(value, parseInt);
}
public RegexPatternConverter(Converter converter) {
}
}