2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
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.
10 package eu
.etaxonomy
.cdm
.model
.name
;
12 import javax
.persistence
.Entity
;
13 import javax
.xml
.bind
.annotation
.XmlAccessType
;
14 import javax
.xml
.bind
.annotation
.XmlAccessorType
;
15 import javax
.xml
.bind
.annotation
.XmlSeeAlso
;
16 import javax
.xml
.bind
.annotation
.XmlType
;
18 import org
.apache
.log4j
.Logger
;
19 import org
.hibernate
.envers
.Audited
;
20 import org
.hibernate
.search
.annotations
.Indexed
;
22 import eu
.etaxonomy
.cdm
.model
.common
.OrderedTermBase
;
25 * The class representing status (categories) of {@link SpecimenTypeDesignation specimen type designations}
26 * for a {@link TaxonNameBase taxon name} or a set of them. Within this set {@link NameRelationshipType#BASIONYM() basionyms}
27 * or {@link NameRelationshipType#REPLACED_SYNONYM() replaced synonyms}, in case of reclassifications,
28 * will be here referred as "type-bringing" taxon names.
30 * The different status indicate whether the {@link eu.etaxonomy.cdm.model.occurrence.Specimen specimens} used as types
31 * in a designation are duplicates, replacements, related specimens etc.
33 * A standard (ordered) list of type designation status instances will be
34 * automatically created as the project starts. But this class allows to extend
35 * this standard list by creating new instances of additional type designation
38 * This class corresponds to: <ul>
39 * <li> NomencalturalTypeTypeTerm according to the TDWG ontology
40 * <li> NomenclaturalTypeStatusOfUnitsEnum according to the TCS
45 * @created 08-Nov-2007 13:07:00
47 @XmlAccessorType(XmlAccessType
.FIELD
)
48 @XmlType(name
= "TypeDesignationStatusBase")
50 NameTypeDesignationStatus
.class,
51 SpecimenTypeDesignationStatus
.class
54 @Indexed(index
= "eu.etaxonomy.cdm.model.common.DefinedTermBase")
56 public abstract class TypeDesignationStatusBase
<T
extends TypeDesignationStatusBase
<?
>> extends OrderedTermBase
<T
> {
57 static Logger logger
= Logger
.getLogger(TypeDesignationStatusBase
.class);
59 // ************* CONSTRUCTORS *************/
61 * Class constructor: creates a new empty type designation status instance.
63 * @see #NameTypeDesignationStatus(String, String, String)
64 * @see #SpecimenTypeDesignationStatus(String, String, String)
66 public TypeDesignationStatusBase() {
71 * Class constructor: creates an additional type designation status instance
72 * with a description (in the {@link eu.etaxonomy.cdm.model.common.Language#DEFAULT() default language}), a label
73 * and a label abbreviation.
75 * @param term the string (in the default language) describing the
76 * new type designation status to be created
77 * @param label the string identifying the new type designation
78 * status to be created
79 * @param labelAbbrev the string identifying (in abbreviated form) the
80 * new type designation status to be created
81 * @see #SnameTypeDesignationStatus()
82 * @see #SpecimenTypeDesignationStatus()
84 public TypeDesignationStatusBase(String term
, String label
, String labelAbbrev
) {
85 super(term
, label
, labelAbbrev
);