/**
 * ITimeRepresentation.java
 * Created on May 13, 2008
 * (C) Copyright TANDBERG Television Ltd.
 */
package com.tandbergtv.watchpoint.pmm.job.timers;

import java.util.Date;
import java.util.List;

import com.tandbergtv.watchpoint.pmm.entities.RuleParameter;
import com.tandbergtv.watchpoint.pmm.entities.RuleTypeParameter;

/**
 * This interface provides a method to represent the time for a given job. The format should be in
 * sync with the one expected by the scheduler.
 * 
 * @author spuranik
 */
public interface ITimeRepresentation {

	/**
	 * This method knows how to parse the list of parameters using the rule type params to build the
	 * time representation for the values in the parameters.
	 * 
	 * @param ruleTypeParams
	 *            list of params for this ruletype.
	 * @param params
	 *            list of params from which the time representation needs to be constructed
	 * @return the time represented by the provided parameters.
	 */
	public Object getTime(List<RuleTypeParameter> ruleTypeParams, List<RuleParameter> params,
			Date startDate);
}
