package se.unlogic.standardutils.populators; import java.sql.Date; import java.text.ParseException; import java.text.SimpleDateFormat; import se.unlogic.standardutils.date.DateUtils; import se.unlogic.standardutils.validation.StringFormatValidator; public class DatePopulator extends BaseTypePopulator<Date> { private final SimpleDateFormat dateFormat; public DatePopulator(SimpleDateFormat dateFormat) { super(); this.dateFormat = dateFormat; } public DatePopulator(String populatorID, SimpleDateFormat dateFormat) { super(populatorID); this.dateFormat = dateFormat; } public DatePopulator(String populatorID, SimpleDateFormat dateFormat, StringFormatValidator formatValidator) { super(populatorID,formatValidator); this.dateFormat = dateFormat; } public Class<? extends Date> getType() { return Date.class; } public Date getValue(String value) { try { java.util.Date utilDate = this.dateFormat.parse(value); return new Date(utilDate.getTime()); } catch (ParseException e) { throw new RuntimeException(e); } } @Override public boolean validateDefaultFormat(String value) { return DateUtils.isValidDate(this.dateFormat, value); } }