/**
 * IScheduleConverter.java
 * Created on Jun 18, 2008
 * (C) Copyright TANDBERG Television Ltd.
 */
package com.tandbergtv.watchpoint.pmm.action.schedule.ingest.converter;

import com.tandbergtv.watchpoint.pmm.util.schedule.ingest.ConversionResult;


/**
 * Interface that will be implemented by all classes that convert the external format schedule to
 * PMM planner.
 * 
 * @author spuranik
 */
public interface IScheduleConverter {

	/**
	 * converts the input file to a known output format if it can perform the conversion. The result
	 * object has all the info needed as part of this conversion.
	 * 
	 * @param inputFilepath
	 *            file in external format.
	 * @param outputPath
	 *            the output path where the converted file will be written.
	 * @return an object with all the required info about the conversion.
	 */
	public ConversionResult convert(String inputFilepath, String outputPath);

	/**
	 * Indicates whether the converter is capable of converting the file specified.
	 * 
	 * @param inputFilename
	 *            complete filepath of the file which needs to be converted.
	 * @return true if this converter can convert the file specified or else false.
	 */
	public boolean canConvert(String inputFilename);
}
