65 lines
3.1 KiB
Java
65 lines
3.1 KiB
Java
package com.thoughtworks.xstream.converters.time;
|
|
|
|
import com.thoughtworks.xstream.converters.Converter;
|
|
import com.thoughtworks.xstream.converters.MarshallingContext;
|
|
import com.thoughtworks.xstream.converters.UnmarshallingContext;
|
|
import com.thoughtworks.xstream.io.ExtendedHierarchicalStreamWriterHelper;
|
|
import com.thoughtworks.xstream.io.HierarchicalStreamReader;
|
|
import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
|
|
import com.thoughtworks.xstream.mapper.Mapper;
|
|
import java.time.temporal.ValueRange;
|
|
import java.util.HashMap;
|
|
|
|
/* loaded from: classes.dex */
|
|
public class ValueRangeConverter implements Converter {
|
|
private final Mapper mapper;
|
|
|
|
public ValueRangeConverter(Mapper mapper) {
|
|
this.mapper = mapper;
|
|
}
|
|
|
|
private void write(String str, long j, HierarchicalStreamWriter hierarchicalStreamWriter) {
|
|
ExtendedHierarchicalStreamWriterHelper.startNode(hierarchicalStreamWriter, this.mapper.serializedMember(ValueRange.class, str), Long.TYPE);
|
|
hierarchicalStreamWriter.setValue(String.valueOf(j));
|
|
hierarchicalStreamWriter.endNode();
|
|
}
|
|
|
|
@Override // com.thoughtworks.xstream.converters.ConverterMatcher
|
|
public boolean canConvert(Class cls) {
|
|
return cls == ValueRange.class;
|
|
}
|
|
|
|
@Override // com.thoughtworks.xstream.converters.Converter
|
|
public void marshal(Object obj, HierarchicalStreamWriter hierarchicalStreamWriter, MarshallingContext marshallingContext) {
|
|
ValueRange valueRange = (ValueRange) obj;
|
|
write("maxLargest", valueRange.getMaximum(), hierarchicalStreamWriter);
|
|
write("maxSmallest", valueRange.getSmallestMaximum(), hierarchicalStreamWriter);
|
|
write("minLargest", valueRange.getLargestMinimum(), hierarchicalStreamWriter);
|
|
write("minSmallest", valueRange.getMinimum(), hierarchicalStreamWriter);
|
|
}
|
|
|
|
@Override // com.thoughtworks.xstream.converters.Converter
|
|
public Object unmarshal(HierarchicalStreamReader hierarchicalStreamReader, UnmarshallingContext unmarshallingContext) {
|
|
boolean equals = "custom".equals(hierarchicalStreamReader.getAttribute(this.mapper.aliasForSystemAttribute("serialization")));
|
|
if (equals) {
|
|
hierarchicalStreamReader.moveDown();
|
|
hierarchicalStreamReader.moveDown();
|
|
}
|
|
HashMap hashMap = new HashMap();
|
|
while (hierarchicalStreamReader.hasMoreChildren()) {
|
|
hierarchicalStreamReader.moveDown();
|
|
String nodeName = hierarchicalStreamReader.getNodeName();
|
|
if (!equals) {
|
|
nodeName = this.mapper.realMember(ValueRange.class, nodeName);
|
|
}
|
|
hashMap.put(nodeName, Long.valueOf(hierarchicalStreamReader.getValue()));
|
|
hierarchicalStreamReader.moveUp();
|
|
}
|
|
if (equals) {
|
|
hierarchicalStreamReader.moveUp();
|
|
hierarchicalStreamReader.moveUp();
|
|
}
|
|
return ValueRange.of(((Long) hashMap.get("minSmallest")).longValue(), ((Long) hashMap.get("minLargest")).longValue(), ((Long) hashMap.get("maxSmallest")).longValue(), ((Long) hashMap.get("maxLargest")).longValue());
|
|
}
|
|
}
|