package com.netflix.xstream.converters; import com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter; import javax.xml.datatype.DatatypeConfigurationException; import javax.xml.datatype.DatatypeFactory; import javax.xml.datatype.Duration; /** * An XStream converter between the XML Schema datatype duration and the Java * type {@link javax.xml.datatype.Duration Duration}. */ public class DurationConverter extends AbstractSingleValueConverter { public DurationConverter() throws DatatypeConfigurationException { this(DatatypeFactory.newInstance()); } public DurationConverter(DatatypeFactory factory) { this.factory = factory; } private final DatatypeFactory factory; @Override public boolean canConvert(Class c) { return Duration.class.isAssignableFrom(c); } @Override public Object fromString(String s) { return factory.newDuration(s); } }