schema update framework
[cdmlib.git] / cdmlib-persistence / src / main / java / eu / etaxonomy / cdm / database / update / ITermUpdater.java
1 package eu.etaxonomy.cdm.database.update;
2
3 import eu.etaxonomy.cdm.common.IProgressMonitor;
4 import eu.etaxonomy.cdm.database.ICdmDataSource;
5
6 public interface ITermUpdater {
7
8 /**
9 * Invokes this CDM term updater
10 * @return
11 */
12 boolean invoke(ICdmDataSource datasource, IProgressMonitor monitor);
13 /**
14 * Returns the previous CDM term updater
15 * @return
16 */
17 public ITermUpdater getPreviousUpdater();
18
19 /**
20 * Returns the next CDM term updater
21 * @return
22 */
23 public ITermUpdater getNextUpdater();
24
25 /**
26 * Returns the number of steps to run to update the datasource
27 * to the term version this term updater is updating to.
28 * This includes needed steps in previous updaters.
29 * @see #getPreviousUpdater()
30 * @return number of steps
31 */
32 int countSteps(ICdmDataSource datasource);
33
34
35
36 }