package LinGUIne.extensions; import java.io.File; import java.io.IOException; import java.util.List; import LinGUIne.model.IProjectDataContents; /** * Interface to which all file import extension classes must conform. * * @author Kyle Mullins */ public interface IFileImporter { /** * Returns a human-readable description of the type of file which the * importer can handle. Ex. 'Plaintext File' */ String getFileType(); /** * Returns a file mask used to filter files that the importer can handle. * Ex. *.txt */ String getFileMask(); /** * Parses the given File and returns an in-memory copy of its data. * * @param rawFile The File to be imported into the workspace. * * @param searchQuery The search query to be run generate a non-local file into the workspace * * @return An in-memory version of the data contained in the rawFile. * * @throws IOException */ IProjectDataContents importFile(File rawFile, List<String> searchDetails) throws IOException; }