package org.korsakow.domain.interf;
import java.io.FileNotFoundException;
import org.korsakow.domain.MediaSource;
public interface IMedia extends IResource
{
MediaSource getSource();
void setFilename(String filename);
String getFilename();
/**
* This method is somewhat badly named, it should be called: getWorkingFilename or getExistingFilename or getResolvedFilename
*
* if the file denoted by getFilename() exists, it is returned, otherwise the following modifications are attempted,
* the first one which exists is returned
*
* @return if no variation on getFilename() exists, the return value is undefined TODO: perhaps throw an exception
*/
String getAbsoluteFilename() throws FileNotFoundException;
}