package formatters; import java.text.ParseException; import java.util.Date; import java.util.Locale; import data.ConstantsContainer; import play.Logger; import play.data.format.Formatters.AnnotationFormatter; import tools.converters.FromDateConverter; import tools.converters.FromStringConverter; import annotations.Birthday; public class BirthdayFormatter extends AnnotationFormatter<Birthday, Date> { /** * Converts form input to expected Java's object. * * @return Converted Date or null if an exception occurred. */ @Override public Date parse(Birthday annot, String input, Locale locale) throws ParseException { try { return FromStringConverter.toDate(input, annot.format()); } catch (Exception e) { return null; } } /** * Converts Java object to form input. * * @return String representation of Date object or empty String if an exception occurred. */ @Override public String print(Birthday annot, Date dateObj, Locale locale) { try { return FromDateConverter.toString(dateObj, annot.format()); } catch (Exception e) { return ConstantsContainer.EMPTY_STRING; } } }