(no commit message)
[cdmlib.git] / cdmlib-model / src / main / java / eu / etaxonomy / cdm / model / name / ITypeDesignation.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.model.name;
11
12 import java.util.Set;
13
14 import eu.etaxonomy.cdm.model.reference.ReferenceBase;
15
16 /**
17 * @author a.mueller
18 * @created 07.08.2008
19 * @version 1.0
20 */
21 public interface ITypeDesignation {
22
23
24 public boolean isLectoType();
25
26 /**
27 * Returns the {@link HomotypicalGroup homotypical group} that is typified
28 * in <i>this</i> type designation.
29 *
30 * @see #getTypeSpecimen()
31 */
32 public HomotypicalGroup getHomotypicalGroup();
33
34 /**
35 * Returns the set of {@link TaxonNameBase taxon names} included in the
36 * {@link HomotypicalGroup homotypical group} typified in <i>this</i> type designation.
37 */
38 public Set<TaxonNameBase> getTypifiedNames();
39
40 // /**
41 // * @see #getTypifiedNames()
42 // */
43 // public void setTypifiedNames(Set<TaxonNameBase> typifiedNames);
44
45
46 /**
47 * Returns the details string of the reference corresponding to <i>this</i> taxon
48 * type designation if it is a lectotype. The details describe the exact
49 * localisation within the publication used for the lectotype assignation.
50 * These are mostly (implicitly) pages but can also be figures or tables or
51 * any other element of a publication. A lectotype micro reference (details)
52 * requires the existence of a lectotype reference.
53 *
54 * @see #getLectoTypeReference()
55 */
56 public String getLectoTypeMicroReference();
57
58 /**
59 * @see #getLectoTypeMicroReference()
60 */
61 public void setLectoTypeMicroReference(String lectoTypeMicroReference);
62
63 /**
64 * Returns the {@link reference.ReferenceBase reference} used in case <i>this</i>
65 * taxon type designation is a lectotype. This reference is different
66 * to the nomenclatural reference of the typified taxon name.
67 *
68 * @see #isLectoType()
69 */
70 public ReferenceBase getLectoTypeReference();
71
72 /**
73 * @see #getLectoTypeReference()
74 */
75 public void setLectoTypeReference(ReferenceBase lectoTypeReference);
76
77 }