Project

General

Profile

Download (1.81 KB) Statistics
| Branch: | Tag: | Revision:
1
// $Id$
2
/**
3
* Copyright (C) 2009 EDIT
4
* European Distributed Institute of Taxonomy 
5
* http://www.e-taxonomy.eu
6
* 
7
* The contents of this file are subject to the Mozilla Public License Version 1.1
8
* See LICENSE.TXT at the top of this package for the full license terms.
9
*/
10
package eu.etaxonomy.cdm.database.update;
11

    
12
import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
13
import eu.etaxonomy.cdm.database.ICdmDataSource;
14

    
15
/**
16
 * Class which represents a CDM schema version step. See {@link CdmUpdater}
17
 * for further documentation or implementing classes for examples.
18
 *
19
 * @see CdmUpdater
20
 * @see ISchemaUpdaterStep
21
 * @see ISchemaUpdater
22
 * @see ITermUpdaterStep
23
 * 
24
 * @author a.mueller
25
 * @date 09.2010
26
 */
27
public interface ISchemaUpdater extends IUpdater<ISchemaUpdater>{
28

    
29
	/**
30
	 * Invokes this CDM schema updater and updates the schema up to the current CDM
31
	 * schema version. Throws an exception if this updater's target version does
32
	 * not equal the current CDM schema version.
33
	 * @param datasource the datasource
34
	 * @param monitor the progress monitor and event listener
35
	 * @param caseType the 
36
	 * @return
37
	 * @throws Exception 
38
	 */
39
	public boolean invoke(ICdmDataSource datasource, IProgressMonitor monitor, CaseType caseType) throws Exception;
40
	
41

    
42
	
43
	/**
44
	 * Invokes this CDM schema updater and updates the schema up to the given
45
	 * target version. Throws an exception if this updaters target version does
46
	 * not equal the given target version.
47
	 * @param targetVersion
48
	 * @param datasource the datasource
49
	 * @param monitor the progress monitor and event listener
50
	 * @return
51
	 * @throws Exception 
52
	 */
53
	public boolean invoke(String targetVersion, ICdmDataSource datasource, IProgressMonitor monitor, CaseType caseType) throws Exception;
54

    
55
	public String getTargetVersion();
56

    
57
}
(11-11/34)