Project

General

Profile

Download (2.28 KB) Statistics
| Branch: | Tag: | Revision:
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.model.description;
11

    
12
import java.util.Set;
13

    
14
import eu.etaxonomy.cdm.model.common.DefinedTerm;
15
import eu.etaxonomy.cdm.model.location.NamedArea;
16
import eu.etaxonomy.cdm.model.taxon.Taxon;
17

    
18
/**
19
 * A common interface for all identification keys.
20
 * @author a.mueller
21
 * @created 22.07.2009
22
 */
23
public interface IIdentificationKey {
24
	
25
    /**
26
     * The geographic scope of the key. The geographic scope is defined by the areas 
27
     * covered by this key.
28
     * @return
29
     */
30
    public Set<NamedArea> getGeographicalScope();
31
    public void addGeographicalScope(NamedArea geographicalScope);
32
    public void removeGeographicalScope(NamedArea geographicalScope);
33
    
34
    /**
35
     * Taxonomic Scope is the taxon which you want the key to be attached to e.g. the genus or whatever.
36
     * In some cases you might have e.g. a key with multiple roots (i.e. three sister genera with 
37
     * no parent made explicit), which would result in more than one taxon in the taxonomic scope set. 
38
     * @return set of taxa
39
     */
40
    public Set<Taxon> getTaxonomicScope();
41
    public void addTaxonomicScope(Taxon taxon);
42
    public void removeTaxonomicScope(Taxon taxon);
43
 
44
    
45
    /**
46
     * The scope of this key, this may be the sex, stage or any other character defined via a subclass
47
     * of {@link Scope}
48
     */
49
    public Set<DefinedTerm> getScopeRestrictions();
50
    public void addScopeRestriction(DefinedTerm scope);
51
    public void removeScopeRestriction(DefinedTerm scope);
52
   
53
    
54
    /**
55
     * Covered taxa are the tips of the key. If the key is a flora key, and the genus (scope of 
56
     * the key) has species which occur elsewhere, then there would be some child taxa of the
57
     * root which are not covered. Keys in monographs would usually cover all taxa belonging 
58
     * to the root taxon.
59
     * @return set of taxa
60
     */
61
    public Set<Taxon> getCoveredTaxa();
62
    public void addCoveredTaxon(Taxon taxon);
63
    public void removeCoveredTaxon(Taxon taxon);
64
}
(12-12/36)