Project

General

Profile

Download (1.66 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 term version step. See {@link CdmUpdater}
17
 * for further documentation or implementing classes for examples.
18
 * 
19
 * @see CdmUpdater
20
 * @see ITermUpdaterStep
21
 * @see ISchemaUpdaterStep
22
 * @see ISchemaUpdater
23
 * 
24
 * @author a.mueller
25
 * @date 09.2010
26
 *
27
 */
28
public interface ITermUpdater extends IUpdater<ITermUpdater>{
29

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

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

    
53

    
54
	public String getTargetVersion();
55
	
56
}
(13-13/34)