package br.com.six2six.fixturefactory.function.impl; import java.text.SimpleDateFormat; import java.util.Calendar; import br.com.six2six.fixturefactory.function.AtomicFunction; public class DateAsStringFunction implements AtomicFunction { private final AtomicFunction dateFunction; private final SimpleDateFormat dateFormat; public DateAsStringFunction(AtomicFunction dateFunction, String pattern) { this.dateFunction = dateFunction; dateFormat = new SimpleDateFormat(pattern); } @SuppressWarnings("unchecked") @Override public <T> T generateValue() { Calendar date = dateFunction.generateValue(); return (T) dateFormat.format(date.getTime()); } public static DateAsStringFunction dateAsString(AtomicFunction dateFunction, String pattern) { return new DateAsStringFunction(dateFunction, pattern); } }