Project

General

Profile

Download (1.51 KB) Statistics
| Branch: | Tag: | Revision:
1 1d36aa54 Andreas Müller
// $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 90b75b52 Andreas Müller
package eu.etaxonomy.cdm.database.update;
11
12 4aa4e206 Katja Luther
import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
13 90b75b52 Andreas Müller
import eu.etaxonomy.cdm.database.ICdmDataSource;
14
15 1d36aa54 Andreas Müller
/**
16
 * @author a.mueller
17
 * @date 09.2010
18
 *
19
 */
20
public interface ISchemaUpdater extends IUpdater<ISchemaUpdater>{
21 90b75b52 Andreas Müller
22
	/**
23 25d4142c Andreas Müller
	 * Invokes this CDM schema updater and updates the schema up to the current CDM
24 1d36aa54 Andreas Müller
	 * schema version. Throws an exception if this updater's target version does
25 25d4142c Andreas Müller
	 * not equal the current CDM schema version.
26 90b75b52 Andreas Müller
	 * @param datasource the datasource
27
	 * @param monitor the progress monitor and event listener
28
	 * @return
29 316d5d5d Andreas Müller
	 * @throws Exception 
30 90b75b52 Andreas Müller
	 */
31 316d5d5d Andreas Müller
	public boolean invoke(ICdmDataSource datasource, IProgressMonitor monitor) throws Exception;
32 90b75b52 Andreas Müller
	
33 25d4142c Andreas Müller
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 1d36aa54 Andreas Müller
49 90b75b52 Andreas Müller
}