cleanup and allow merge with objectsToRemove in all services
[cdmlib.git] / cdmlib-services / src / main / java / eu / etaxonomy / cdm / api / service / IMetadataService.java
1 /**
2 * Copyright (C) 2015 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 *
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
8 */
9 package eu.etaxonomy.cdm.api.service;
10
11 import java.util.Map;
12
13 import eu.etaxonomy.cdm.config.CdmSourceException;
14 import eu.etaxonomy.cdm.model.metadata.CdmMetaDataPropertyName;
15
16 /**
17 * @author cmathew
18 * @since 20 Nov 2015
19 *
20 */
21 public interface IMetadataService {
22
23
24 /**
25 * Returns the CDM model schema version number
26 *
27 * @return the CDM model schema version number
28 * @throws CdmSourceException , incase of an underlying SQL error
29 */
30 public String getDbSchemaVersion() throws CdmSourceException;
31
32 /**
33 * Returns a boolean flag to indicate whether the database is empty
34 *
35 * @return boolean flag to indicate whether the database is empty
36 * @throws CdmSourceException , incase of an underlying SQL error
37 */
38 public boolean isDbEmpty() throws CdmSourceException;
39
40 /**
41 * Returns metadata corresponding to the underlying data source
42 *
43 * @return
44 * @throws CdmSourceException
45 */
46 public Map<CdmMetaDataPropertyName, String> getCdmMetadataMap() throws CdmSourceException;
47
48 }