package automenta.vivisect.swing.property.util.converter; import java.text.SimpleDateFormat; import java.util.Date; public class DateConverter implements Converter { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); public void register(ConverterRegistry registry) { registry.addConverter(String.class, Date.class, this); registry.addConverter(Date.class, String.class, this); } public Object convert(Class type, Object value) { if (value == null) return null; if (String.class.equals(type) && Date.class.equals(value.getClass())) { return sdf.format((Date)value); } else if (Date.class.equals(type) && String.class.equals(value.getClass())) { try { return sdf.parse(value.toString()); } catch (Exception e) { throw new IllegalArgumentException("Can't convert " + value + " to " + type.getName()); } } else { throw new IllegalArgumentException("Can't convert " + value + " to " + type.getName()); } } }