--- /dev/null
+package org.simantics.export.core.intf;\r
+\r
+import org.simantics.export.core.error.ExportException;\r
+\r
+/**\r
+ * Exporter exports content for one specific format.\r
+ *\r
+ * @author toni.kalajainen@semantum.fi\r
+ */\r
+public interface Exporter {\r
+ \r
+ /**\r
+ * Identifier for the file format, eg. "pdf", "tg", "csv".\r
+ * @return\r
+ */\r
+ String formatId();\r
+ \r
+ /**\r
+ * The identifier to the content type, that this definition can export.\r
+ * @return \r
+ */\r
+ String contentTypeId();\r
+ \r
+ /**\r
+ * Code that exports the content into format specific writer. \r
+ * @return\r
+ * @throws ExportException \r
+ */\r
+ ExportClass exportAction() throws ExportException;\r
+ \r
+ /**\r
+ * Priority of this exporter in comparison to other exporters for the \r
+ * content. The smaller the number the higher the priority. \r
+ * \r
+ * @return priority \r
+ */\r
+ int getExportPriority();\r
+ \r
+}\r