CdmDefaultImport, CdmDefaultExport extended to omit term loading
[cdmlib.git] / cdmlib-io / src / main / java / eu / etaxonomy / cdm / io / common / IImportConfigurator.java
1 package eu.etaxonomy.cdm.io.common;
2
3 import java.util.UUID;
4
5 import eu.etaxonomy.cdm.api.application.CdmApplicationController;
6 import eu.etaxonomy.cdm.database.DbSchemaValidation;
7 import eu.etaxonomy.cdm.database.ICdmDataSource;
8 import eu.etaxonomy.cdm.model.agent.Person;
9 import eu.etaxonomy.cdm.model.common.Language;
10 import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
11 import eu.etaxonomy.cdm.model.reference.ReferenceBase;
12
13 public interface IImportConfigurator extends IIoConfigurator {
14
15 public static enum CHECK{
16 CHECK_ONLY,
17 IMPORT_WITHOUT_CHECK,
18 CHECK_AND_IMPORT,
19 }
20
21 public static enum DO_REFERENCES{
22 NONE,
23 NOMENCLATURAL,
24 CONCEPT_REFERENCES,
25 ALL
26 }
27
28 public abstract boolean isValid();
29
30 /* ****************** GETTER/SETTER **************************/
31 public abstract boolean isDeleteAll();
32
33 public abstract void setDeleteAll(boolean deleteAll);
34
35 public abstract boolean isDoAuthors();
36
37 public abstract void setDoAuthors(boolean doAuthors);
38
39 /**
40 * @return the doReferences
41 */
42 public abstract DO_REFERENCES getDoReferences();
43
44 /**
45 * @param doReferences the doReferences to set
46 */
47 public abstract void setDoReferences(DO_REFERENCES doReferences);
48
49 /**
50 * @return the doReferences
51 */
52 public abstract CHECK getCheck();
53
54 /**
55 * @param doReferences the doReferences to set
56 */
57 public abstract void setCheck(CHECK check);
58
59 /**
60 * If true, no errors occurs if objects are not found that should exist. This may
61 * be needed e.g. when only subsets of the data are imported.
62 * Default value is <cod>false</code>.
63 * @return the ignoreNull
64 */
65 public boolean isIgnoreNull();
66 /**
67 * @param ignoreNull the ignoreNull to set
68 */
69 public void setIgnoreNull(boolean ignoreNull);
70
71 public abstract boolean isDoTaxonNames();
72
73 public abstract void setDoTaxonNames(boolean doTaxonNames);
74
75 public abstract boolean isDoRelNames();
76
77 public abstract void setDoRelNames(boolean doRelNames);
78
79 public abstract boolean isDoNameStatus();
80
81 public abstract void setDoNameStatus(boolean doNameStatus);
82
83 public abstract boolean isDoNameFacts();
84
85 public abstract void setDoNameFacts(boolean doNameFacts);
86
87 public abstract boolean isDoTypes();
88
89 public abstract void setDoTypes(boolean doTypes);
90
91 public abstract boolean isDoTaxa();
92
93 public abstract void setDoTaxa(boolean doTaxa);
94
95 public abstract boolean isDoRelTaxa();
96
97 public abstract void setDoRelTaxa(boolean doRelTaxa);
98
99 public abstract boolean isDoFacts();
100
101 public abstract void setDoFacts(boolean doFacts);
102
103 /**
104 * @return the doOccurrence
105 */
106 public abstract boolean isDoOccurrence();
107
108 /**
109 * @param doOccurrence the doOccurrence to set
110 */
111 public abstract void setDoOccurrence(boolean doOccurrence);
112
113
114 public abstract ICdmDataSource getDestination();
115
116 public abstract void setDestination(ICdmDataSource destination);
117
118 public abstract DbSchemaValidation getDbSchemaValidation();
119
120 public abstract void setDbSchemaValidation(
121 DbSchemaValidation dbSchemaValidation);
122
123 public abstract ReferenceBase getSourceReference();
124
125
126 /**
127 * A String representation of the used source (e.g. BerlinModel Cichorieae Database)
128 * @return
129 */
130 public abstract String getSourceNameString();
131
132 /**
133 * Any object that represents the Source. The implementing class must cast this to
134 * the correct class type
135 * @return
136 */
137 public abstract Object getSource();
138
139 //public abstract void setSource(Object url);
140
141 public abstract void setSourceReference(ReferenceBase sourceReference);
142
143 public abstract String getSourceReferenceTitle();
144
145 public abstract void setSourceReferenceTitle(String sourceReferenceTitle);
146
147 public abstract Person getCommentator();
148
149 public abstract void setCommentator(Person commentator);
150
151 public abstract Language getFactLanguage();
152
153 public abstract void setFactLanguage(Language factLanguage);
154
155 public abstract NomenclaturalCode getNomenclaturalCode();
156
157 public abstract void setNomenclaturalCode(NomenclaturalCode nomenclaturalCode);
158
159 public Class<ICdmIO>[] getIoClassList();
160
161 /**
162 * Returns a <code>CdmApplicationController</code> created by the values of this configuration.
163 * If a controller was already created before the last created controller is returned.
164 * @return
165 */
166 public CdmApplicationController getCdmAppController();
167 public CdmApplicationController getCdmAppController(boolean createNew, boolean omitTermLoading);
168
169 public Object getSourceSecId();
170
171 public UUID getSecUuid();
172 public void setSecUuid(UUID secUuid);
173
174 /*
175 * For Jaxb Import
176 */
177 // public boolean isDoTerms();
178 // public void setDoTerms(boolean doTerms);
179 //
180 // public boolean isDoTermVocabularies();
181 // public void setDoTermVocabularies(boolean doTermVocabularies);
182 //
183 // public boolean isDoHomotypicalGroups();
184 // public void setDoHomotypicalGroups(boolean doHomotypicalGroups);
185 //
186 // public boolean isDoReferencedEntities();
187 // public void setDoReferencedEntities(boolean doReferencedEntities);
188 //
189 // public boolean isDoFeatureData();
190 // public void setDoFeatureData(boolean doFeatureData);
191 //
192 // public boolean isDoMedia();
193 // public void setDoMedia(boolean doMedia);
194 //
195 // public boolean isDoLanguageData();
196 // public void setDoLanguageData(boolean doLanguageData);
197
198 }