Added listByTitle()
[cdmlib.git] / cdmlib-services / src / main / java / eu / etaxonomy / cdm / api / service / ILocationService.java
1 // $Id$
2 /**
3 * Copyright (C) 2007 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
11 package eu.etaxonomy.cdm.api.service;
12
13 import java.util.List;
14
15 import eu.etaxonomy.cdm.model.common.DefinedTermBase;
16 import eu.etaxonomy.cdm.model.common.OrderedTermVocabulary;
17 import eu.etaxonomy.cdm.model.common.TermVocabulary;
18 import eu.etaxonomy.cdm.model.description.AbsenceTerm;
19 import eu.etaxonomy.cdm.model.description.PresenceTerm;
20 import eu.etaxonomy.cdm.model.location.NamedArea;
21 import eu.etaxonomy.cdm.model.location.NamedAreaLevel;
22 import eu.etaxonomy.cdm.model.location.NamedAreaType;
23
24 /**
25 * @author n.hoffman
26 * @created 08.04.2009
27 * @version 1.0
28 */
29 public interface ILocationService extends IService<DefinedTermBase> {
30
31
32 public static enum NamedAreaVocabularyType{
33 TDWG_AREA, WATERBODY_OR_COUNTRY, CONTINENT
34 }
35
36 /**
37 * Returns a list of NamedArea Types "TDWG Areas", "ISO Country Codes"
38 *
39 * @return
40 */
41 public List<NamedAreaVocabularyType> getNamedAreaVocabularyTypes();
42
43 /**
44 * - these would be top-level areas for nested area vocabularies, e.g. North America and Europe, but NOT USA, Germany - alternatively:
45 *
46 * @param vocabularyType
47 * @return
48 * @deprecated use TermService#getVocabulary(VocabularyType) instead
49 */
50 public OrderedTermVocabulary<NamedArea> getNamedAreaVocabulary(NamedAreaVocabularyType vocabularyType);
51
52 /**
53 *
54 * @return
55 * @deprecated use TermService#getVocabulary(VocabularyType) instead
56 */
57 public TermVocabulary<NamedAreaType> getNamedAreaTypeVocabulary();
58
59 /**
60 *
61 * @return
62 * @deprecated use TermService#getVocabulary(VocabularyType) instead
63 */
64 public OrderedTermVocabulary<NamedAreaLevel> getNamedAreaLevelVocabulary();
65
66 /**
67 *
68 * @return
69 * @deprecated use TermService#getVocabulary(VocabularyType) instead
70 */
71 public OrderedTermVocabulary<PresenceTerm> getPresenceTermVocabulary();
72
73 /**
74 *
75 * @return
76 * @deprecated use TermService#getVocabulary(VocabularyType) instead
77 */
78 public OrderedTermVocabulary<AbsenceTerm> getAbsenceTermVocabulary();
79
80 /**
81 *
82 */
83 public List<NamedArea> getTopLevelNamedAreasByVocabularyType(NamedAreaVocabularyType vocabularyType);
84 }