Initial commit
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
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.converters.reflection.AbstractReflectionConverter;
|
||||
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.DayOfWeek;
|
||||
import java.time.temporal.WeekFields;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class WeekFieldsConverter implements Converter {
|
||||
private final Mapper mapper;
|
||||
|
||||
public WeekFieldsConverter(Mapper mapper) {
|
||||
this.mapper = mapper;
|
||||
}
|
||||
|
||||
@Override // com.thoughtworks.xstream.converters.ConverterMatcher
|
||||
public boolean canConvert(Class cls) {
|
||||
return cls == WeekFields.class;
|
||||
}
|
||||
|
||||
@Override // com.thoughtworks.xstream.converters.Converter
|
||||
public void marshal(Object obj, HierarchicalStreamWriter hierarchicalStreamWriter, MarshallingContext marshallingContext) {
|
||||
WeekFields weekFields = (WeekFields) obj;
|
||||
ExtendedHierarchicalStreamWriterHelper.startNode(hierarchicalStreamWriter, this.mapper.serializedMember(WeekFields.class, "minimalDays"), Integer.TYPE);
|
||||
hierarchicalStreamWriter.setValue(String.valueOf(weekFields.getMinimalDaysInFirstWeek()));
|
||||
hierarchicalStreamWriter.endNode();
|
||||
ExtendedHierarchicalStreamWriterHelper.startNode(hierarchicalStreamWriter, this.mapper.serializedMember(WeekFields.class, "firstDayOfWeek"), DayOfWeek.class);
|
||||
marshallingContext.convertAnother(weekFields.getFirstDayOfWeek());
|
||||
hierarchicalStreamWriter.endNode();
|
||||
}
|
||||
|
||||
@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();
|
||||
}
|
||||
DayOfWeek dayOfWeek = null;
|
||||
int i = 0;
|
||||
while (hierarchicalStreamReader.hasMoreChildren()) {
|
||||
hierarchicalStreamReader.moveDown();
|
||||
String nodeName = equals ? hierarchicalStreamReader.getNodeName() : this.mapper.realMember(WeekFields.class, hierarchicalStreamReader.getNodeName());
|
||||
if ("minimalDays".equals(nodeName)) {
|
||||
i = Integer.parseInt(hierarchicalStreamReader.getValue());
|
||||
} else {
|
||||
if (!"firstDayOfWeek".equals(nodeName)) {
|
||||
throw new AbstractReflectionConverter.UnknownFieldException(WeekFields.class.getName(), nodeName);
|
||||
}
|
||||
dayOfWeek = (DayOfWeek) unmarshallingContext.convertAnother(null, DayOfWeek.class);
|
||||
}
|
||||
hierarchicalStreamReader.moveUp();
|
||||
}
|
||||
if (equals) {
|
||||
hierarchicalStreamReader.moveUp();
|
||||
hierarchicalStreamReader.moveUp();
|
||||
}
|
||||
return WeekFields.of(dayOfWeek, i);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user