1 package com.thoughtworks.xstream.converters.basic; 2 3 import com.thoughtworks.xstream.converters.ConversionException; 4 5 import java.text.ParseException ; 6 import java.util.Date ; 7 8 14 public class DateConverter extends AbstractBasicConverter { 15 16 private ThreadSafeSimpleDateFormat[] formats = { 17 new ThreadSafeSimpleDateFormat("yyyy-MM-dd HH:mm:ss.S a", 4, 20), 18 new ThreadSafeSimpleDateFormat("yyyy-MM-dd HH:mm:ssa", 2, 20) 19 }; 20 21 public boolean canConvert(Class type) { 22 return type.equals(Date .class); 23 } 24 25 protected Object fromString(String str) { 26 for (int i = 0; i < formats.length; i++) { 27 try { 28 return formats[i].parse(str); 29 } catch (ParseException e) { 30 } 32 } 33 throw new ConversionException("Cannot parse date " + str); 35 } 36 37 protected String toString(Object obj) { 38 Date date = (Date ) obj; 39 return formats[0].format(date); 40 } 41 42 } 43 | Popular Tags |