package org.jcommons.db.column.converter; import java.util.Date; import org.jcommons.db.column.MetaColumn; import org.jcommons.lang.time.DateUtils; import org.jcommons.message.Message; import org.jcommons.message.Warning; /** tries to convert the current object into a date value */ public class ToDate extends AbstractToValue<Date> { private static final String OUTDATED = "\"${value}\" is not a valid date for ${table}.${column} and will be ignored."; /** {@inheritDoc} */ @Override protected Date objectOf(final MetaColumn meta, final String value, final Message validation) { if (meta.isDate()) { Date date = DateUtils.toTime(value); if (date == null) date = DateUtils.toDay(value); if (date == null) { validation.add(new Warning(message(OUTDATED, meta, value).toString())); } else { return date; } } return null; } }