(no commit message)
[cdmlib.git] / cdmlib-services / src / main / java / eu / etaxonomy / cdm / api / service / IDescriptionService.java
1 /**
2 * Copyright (C) 2007 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
10 package eu.etaxonomy.cdm.api.service;
11
12 import java.util.Collection;
13 import java.util.List;
14 import java.util.Map;
15 import java.util.Set;
16 import java.util.UUID;
17
18 import eu.etaxonomy.cdm.model.common.TermVocabulary;
19 import eu.etaxonomy.cdm.model.common.VersionableEntity;
20 import eu.etaxonomy.cdm.model.description.DescriptionBase;
21 import eu.etaxonomy.cdm.model.description.Distribution;
22 import eu.etaxonomy.cdm.model.description.Feature;
23 import eu.etaxonomy.cdm.model.description.FeatureNode;
24 import eu.etaxonomy.cdm.model.description.FeatureTree;
25
26 public interface IDescriptionService extends IIdentifiableEntityService<DescriptionBase> {
27
28 /**
29 * @param uuid
30 * @return
31 */
32 public abstract DescriptionBase getDescriptionBaseByUuid(UUID uuid);
33
34 /**
35 * Persists a <code>Description</code>
36 * @param description
37 * @return
38 */
39 public abstract UUID saveDescription(DescriptionBase description);
40
41 /**
42 * Persists a <code>FeatureTree</code>
43 * @param tree
44 * @return
45 */
46 public abstract UUID saveFeatureTree(FeatureTree tree);
47 public abstract void saveFeatureDataAll(Collection<VersionableEntity> featureData);
48 public abstract Map<UUID, FeatureTree> saveFeatureTreeAll(Collection<FeatureTree> trees);
49 public abstract Map<UUID, FeatureNode> saveFeatureNodeAll(Collection<FeatureNode> nodes);
50
51 public abstract List<FeatureTree> getFeatureTreesAll();
52 public abstract List<FeatureNode> getFeatureNodesAll();
53
54 public abstract TermVocabulary<Feature> getDefaultFeatureVocabulary();
55 public abstract TermVocabulary<Feature> getFeatureVocabulary(UUID uuid);
56
57 public abstract String getWebServiceUrl(Set<Distribution> distributions, String webServiceUrl, int width, int hight, String bbox);
58 }