Created interfaces for cdm base classes. Started integrating progress monitor funtion...
[cdmlib.git] / cdmlib-io / src / main / java / eu / etaxonomy / cdm / io / common / IIoConfigurator.java
1 /**
2 * Copyright (C) 2008 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 */
6
7 package eu.etaxonomy.cdm.io.common;
8
9 import eu.etaxonomy.cdm.api.application.CdmApplicationController;
10 import eu.etaxonomy.cdm.common.IProgressMonitor;
11 import eu.etaxonomy.cdm.database.DbSchemaValidation;
12
13
14 /**
15 * @author a.babadshanjan
16 * @created 13.11.2008
17 */
18 public interface IIoConfigurator {
19
20 /**
21 * A String representation of the used source may it be a source to be imported (e.g. "BerlinModel Cichorieae Database")
22 * or a source to be exported (e.g. "CDM Cichorieae Database")
23 * @return String representing the source for the io
24 */
25 public String getSourceNameString();
26
27
28 /**
29 * A String representation of the destination may it be an import destination and therefore a CDM (e.g. CDM Cichorieae Database)
30 * or an export destination (e.g. CDM XML)
31 * @return
32 */
33 public String getDestinationNameString();
34
35
36 /**
37 * Returns the CdmApplicationController
38 * @return
39 */
40 public CdmApplicationController getCdmAppController();
41
42
43 /**
44 * Sets the CdmApplicationController
45 * @param cdmApp the cdmApp to set
46 */
47 public void setCdmAppController(CdmApplicationController cdmApp);
48
49 /**
50 * Get the way how the CDM schema is validated
51 * @see eu.etaxonomy.cdm.database.DbSchemaValidation
52 * @return
53 */
54 public DbSchemaValidation getDbSchemaValidation();
55
56 /**
57 * Get the way how the CDM schema is validated
58 * For exports values that delete the source (CREATE, CREATE_DROP) are not allowed and may throw an
59 * Exception in the further run
60 * @see eu.etaxonomy.cdm.database.DbSchemaValidation
61 * @param dbSchemaValidation
62 */
63 public void setDbSchemaValidation(DbSchemaValidation dbSchemaValidation);
64
65 /**
66 *
67 * @param monitor
68 */
69 public void setProgressMonitor(IProgressMonitor monitor);
70
71 /**
72 *
73 * @return
74 */
75 public IProgressMonitor getProgressMonitor();
76
77 }