Project

General

Profile

Download (1.51 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
 * @author a.mueller
17
 * @date 09.2010
18
 *
19
 */
20
public interface ISchemaUpdater extends IUpdater<ISchemaUpdater>{
21

    
22
	/**
23
	 * Invokes this CDM schema updater and updates the schema up to the current CDM
24
	 * schema version. Throws an exception if this updater's target version does
25
	 * not equal the current CDM schema version.
26
	 * @param datasource the datasource
27
	 * @param monitor the progress monitor and event listener
28
	 * @return
29
	 * @throws Exception 
30
	 */
31
	public boolean invoke(ICdmDataSource datasource, IProgressMonitor monitor) throws Exception;
32
	
33

    
34
	
35
	/**
36
	 * Invokes this CDM schema updater and updates the schema up to the given
37
	 * target version. Throws an exception if this updaters target version does
38
	 * not equal the given target version.
39
	 * @param targetVersion
40
	 * @param datasource the datasource
41
	 * @param monitor the progress monitor and event listener
42
	 * @return
43
	 * @throws Exception 
44
	 */
45
	public boolean invoke(String targetVersion, ICdmDataSource datasource, IProgressMonitor monitor) throws Exception;
46

    
47
	public String getTargetVersion();
48

    
49
}
(6-6/24)