package org.yestech.lib.xml;
import com.thoughtworks.xstream.converters.SingleValueConverter;
import com.thoughtworks.xstream.converters.ConverterMatcher;
import org.joda.time.format.DateTimeFormatter;
import org.joda.time.DateTime;
/**
*
*
*/
public class JodaDateTimeConverter implements ConverterMatcher, SingleValueConverter
{
private final DateTimeFormatter dateTimeFormatter;
public JodaDateTimeConverter(DateTimeFormatter dateTimeFormatter)
{
this.dateTimeFormatter = dateTimeFormatter;
}
public DateTimeFormatter getDateTimeFormatter()
{
return dateTimeFormatter;
}
@Override
public boolean canConvert(Class type)
{
return DateTime.class.isAssignableFrom(type);
}
@Override
public String toString(Object obj)
{
DateTime dt = (DateTime) obj;
return dt.toString(dateTimeFormatter);
}
@Override
public Object fromString(String str)
{
return dateTimeFormatter.parseDateTime(str);
}
}