+package org.simantics.export.core;\r
+\r
+import org.simantics.export.core.intf.ContentType;\r
+import org.simantics.export.core.intf.Discoverer;\r
+import org.simantics.export.core.intf.Exporter;\r
+import org.simantics.export.core.intf.Format;\r
+import org.simantics.export.core.intf.Importer;\r
+import org.simantics.export.core.intf.Publisher;\r
+\r
+/**\r
+ * Export Extension Point services\r
+ *\r
+ * @author toni.kalajainen@semantum.fi\r
+ */\r
+public interface ExportExtensionPoint {\r
+\r
+ ContentType[] contentTypes();\r
+ Discoverer[] discoverers();\r
+ Format[] formats();\r
+ Importer[] importers();\r
+ Exporter[] exporters(); \r
+ Publisher[] publishers();\r
+ \r
+ Discoverer[] getDiscoverers(String contentTypeId);\r
+ Format getFormat(String formatId);\r
+ Format getFormatByExt(String fileExt);\r
+ ContentType getContentType(String contentTypeId);\r
+ Importer getImporter(String formatId);\r
+ Exporter[] getExporters(String formatId, String contentTypeId);\r
+ Publisher getPublisher(String publisherId);\r
+ Publisher getPublisherByLabel(String publisherLabel);\r
+ int getPublisherIndex(String publisherId);\r
+ \r
+ /**\r
+ * Get exporters for a content type. The result is priority ordered list.\r
+ * \r
+ * @param contentTypeId\r
+ * @return ordered list of exporters\r
+ */\r
+ Exporter[] getExportersForContentType(String contentTypeId);\r
+ \r
+ /**\r
+ * Get exporters for a content type. The result is priority ordered list.\r
+ * \r
+ * @param formatId\r
+ * @return ordered list of exporters\r
+ */\r
+ Exporter[] getExportersForFormat(String formatId);\r
+ \r
+ \r
+}\r