root/trunk/cdmlib/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/description/IIdentificationKey.java

Revision 11197, 2.3 kB (checked in by a.mueller, 16 months ago)

Javadoc for IIdentificationKey

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