package geniusweb.progress; import java.util.Date; import geniusweb.deadline.Deadline; import geniusweb.deadline.DeadlineRounds; import geniusweb.deadline.DeadlineTime; public class ProgressFactory { /** * * @param deadline the deadline to create a progress for * @param nowms The time as from {@link System#currentTimeMillis()} that * is to be used as start time for the progress. * @return new Progress matching the deadline type. */ public static Progress create(Deadline deadline, Long nowms) { if (deadline instanceof DeadlineRounds) { return new ProgressRounds(((DeadlineRounds) deadline).getRounds(), 0, new Date( nowms + ((DeadlineRounds) deadline).getDuration())); } else { return new ProgressTime(((DeadlineTime) deadline).getDuration(), new Date(nowms)); } } }