package org.jabref.logic.exporter;
import java.nio.charset.Charset;
import java.nio.file.Path;
import java.util.List;
import org.jabref.model.database.BibDatabaseContext;
import org.jabref.model.entry.BibEntry;
public interface IExportFormat {
/**
* Name to call this format in the console.
*/
String getConsoleName();
/**
* Name to display to the user (for instance in the Save file format drop
* down box.
*/
String getDisplayName();
String getExtension();
/**
* Perform the export.
*
* @param databaseContext the database to export from.
* @param file
* The filename to write to.
* @param encoding
* The encoding to use.
* @param entries
* A list containing all entries that
* should be exported. The list of entries must be non null
* @throws Exception
*/
void performExport(BibDatabaseContext databaseContext, String file, Charset encoding, List<BibEntry> entries)
throws Exception;
/**
* Perform the Export.
* Gets the path as a java.nio.path instead of a string.
*
* @param databaseContext the database to export from.
* @param file the Path to the file to write to.The path should be an java.nio.Path
* @param encoding The encoding to use.
* @param entries A list containing all entries that
* should be exported. The list of entries must be non null
* @throws Exception
*/
void performExport(BibDatabaseContext databaseContext, Path file, Charset encoding, List<BibEntry> entries)
throws Exception;
}