moved taxonNode specific code to TaxonTreeService. Cleaned up the datasource classes
[cdmlib.git] / cdmlib-io / src / main / java / eu / etaxonomy / cdm / io / common / IExportConfigurator.java
index f610fb620ccf43b407c7561463751c8b08b51cc4..48f6e179beac253e773ea5264233cd1b48f83fe6 100644 (file)
@@ -6,14 +6,15 @@
 \r
 package eu.etaxonomy.cdm.io.common;\r
 \r
-import eu.etaxonomy.cdm.api.application.CdmApplicationController;\r
-import eu.etaxonomy.cdm.io.common.IImportConfigurator.CHECK;\r
+import eu.etaxonomy.cdm.database.ICdmDataSource;\r
+\r
 \r
 /**\r
  * @author a.babadshanjan\r
  * @created 16.11.2008\r
+ * @version 1.0\r
  */\r
-public interface IExportConfigurator extends IIoConfigurator {\r
+public interface IExportConfigurator<STATE extends ExportStateBase> extends IIoConfigurator {\r
 \r
        public static enum CHECK{\r
                CHECK_ONLY,\r
@@ -28,22 +29,28 @@ public interface IExportConfigurator extends IIoConfigurator {
                ALL\r
        }\r
 \r
-       public abstract boolean isValid();\r
+       public boolean isValid();\r
+\r
 \r
+       public CHECK getCheck();\r
+       \r
+       public Class<ICdmIO>[] getIoClassList();\r
+\r
+       \r
        /**\r
-        * A String representation of the destination (e.g. CDM JAXB XML)\r
+        * The CDM data source for the export \r
+        * Don't use when using a spring data source\r
         * @return\r
         */\r
-       public abstract String getDestinationNameString();\r
+       public ICdmDataSource getSource();\r
 \r
-       public abstract CHECK getCheck();\r
+       public void setSource(ICdmDataSource source);\r
        \r
-       public Class<ICdmIoExport>[] getIoClassList();\r
-\r
        /**\r
-        * Returns a <code>CdmApplicationController</code> created by the values of this configuration.\r
-        * If a controller was already created before the last created controller is returned.\r
-        * @return\r
+        * Factory method. Creates a new state for the export type and adds this coniguration to it.\r
+        * @return \r
         */\r
-       public CdmApplicationController getCdmAppController();\r
+       public STATE getNewState();\r
+       \r
+       \r
 }\r