/* * Copyright (c) 2015. Bearchoke */ package com.bearchoke.platform.persistence.mongo.converter.xstream; 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.time.Duration; import java.time.Duration; import java.time.format.DateTimeFormatter; /** * Created by Bjorn Harvold * Date: 10/24/15 * Time: 14:20 * Responsibility: */ public class XStreamDurationConverter implements Converter { @Override public boolean canConvert(Class aClass) { return aClass.equals(Duration.class); } @Override public void marshal(Object value, HierarchicalStreamWriter writer, MarshallingContext context) { Duration zdt = (Duration) value; writer.setValue(zdt.toString()); } @Override public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) { return Duration.parse(reader.getValue()); } }