merge-update from trunk
[cdmlib.git] / cdmlib-persistence / src / main / java / eu / etaxonomy / cdm / database / update / ISchemaUpdaterStep.java
1 package eu.etaxonomy.cdm.database.update;
2
3 import java.sql.SQLException;
4 import java.util.List;
5
6 import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
7 import eu.etaxonomy.cdm.database.ICdmDataSource;
8
9 /**
10 * Interface which represents a CDM model update step. See {@link CdmUpdater}
11 * for further documentation or implementing classes for examples.
12 *
13 * @see CdmUpdater
14 * @see ISchemaUpdater
15 * @see ISchemaUpdater
16 * @see ITermUpdaterStep
17 *
18 * @see CdmUpdater
19 * @author a.mueller
20 *
21 */
22 public interface ISchemaUpdaterStep {
23
24 /**
25 *
26 * @param datasource
27 * @param monitor
28 * @param caseType
29 * @return identifier of newly created term
30 * @throws SQLException
31 */
32 public Integer invoke(ICdmDataSource datasource, IProgressMonitor monitor, CaseType caseType) throws SQLException;
33
34 public void setStepName(String stepName);
35
36 public String getStepName();
37
38 public List<ISchemaUpdaterStep> getInnerSteps();
39
40 public boolean isIgnoreErrors();
41
42 public void setIgnoreErrors(boolean ignoreErrors);
43
44 }