some generics
[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 java.util.Set;
10
11 import eu.etaxonomy.cdm.api.application.CdmApplicationController;
12 import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
13 import eu.etaxonomy.cdm.database.DbSchemaValidation;
14 import eu.etaxonomy.cdm.io.common.events.IIoObserver;
15
16
17 /**
18 * @author a.babadshanjan
19 * @created 13.11.2008
20 */
21 public interface IIoConfigurator extends IIoObservable{
22
23 /**
24 * A String representation of the used source may it be a source to be imported (e.g. "BerlinModel Cichorieae Database")
25 * or a source to be exported (e.g. "CDM Cichorieae Database")
26 * @return String representing the source for the io
27 */
28 public String getSourceNameString();
29
30
31 /**
32 * A String representation of the destination may it be an import destination and therefore a CDM (e.g. CDM Cichorieae Database)
33 * or an export destination (e.g. CDM XML)
34 * @return
35 */
36 public String getDestinationNameString();
37
38
39 /**
40 * Returns the CdmApplicationController
41 * @return
42 */
43 public CdmApplicationController getCdmAppController();
44
45
46 /**
47 * Sets the CdmApplicationController
48 * @param cdmApp the cdmApp to set
49 */
50 public void setCdmAppController(CdmApplicationController cdmApp);
51
52 /**
53 * Get the way how the CDM schema is validated
54 * @see eu.etaxonomy.cdm.database.DbSchemaValidation
55 * @return
56 */
57 public DbSchemaValidation getDbSchemaValidation();
58
59 /**
60 * Get the way how the CDM schema is validated
61 * For exports values that delete the source (CREATE, CREATE_DROP) are not allowed and may throw an
62 * Exception in the further run
63 * @see eu.etaxonomy.cdm.database.DbSchemaValidation
64 * @param dbSchemaValidation
65 */
66 public void setDbSchemaValidation(DbSchemaValidation dbSchemaValidation);
67
68
69 /**
70 * Returns the progress monitor.
71 * @return
72 */
73 public IProgressMonitor getProgressMonitor();
74
75 /**
76 * Sets the progress monitor.
77 * @see #getProgressMonitor()
78 * @param monitor
79 */
80 public void setProgressMonitor(IProgressMonitor monitor);
81
82 /**
83 * Returns the observers for this import/export
84 * @return
85 */
86 public Set<IIoObserver> getObservers();
87
88 /**
89 * Sets the observers for this import/export
90 * @param observers
91 */
92 public void setObservers(Set<IIoObserver> observers);
93
94 }