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 java
.util
.UUID
;
14 import javax
.persistence
.Entity
;
15 import javax
.persistence
.Transient
;
16 import javax
.xml
.bind
.annotation
.XmlAccessType
;
17 import javax
.xml
.bind
.annotation
.XmlAccessorType
;
18 import javax
.xml
.bind
.annotation
.XmlType
;
20 import org
.apache
.log4j
.Logger
;
21 import org
.hibernate
.envers
.Audited
;
23 import eu
.etaxonomy
.cdm
.model
.common
.OrderedTermBase
;
24 import eu
.etaxonomy
.cdm
.model
.common
.TermVocabulary
;
27 * The class representing status (categories) of {@link SpecimenTypeDesignation specimen type designations}
28 * for a {@link TaxonNameBase taxon name} or a set of them. Within this set {@link NameRelationshipType#BASIONYM() basionyms}
29 * or {@link NameRelationshipType#REPLACED_SYNONYM() replaced synonyms}, in case of reclassifications,
30 * will be here referred as "type-bringing" taxon names.
32 * The different status indicate whether the {@link eu.etaxonomy.cdm.model.occurrence.Specimen specimens} used as types
33 * in a designation are duplicates, replacements, related specimens etc.
35 * A standard (ordered) list of type designation status instances will be
36 * automatically created as the project starts. But this class allows to extend
37 * this standard list by creating new instances of additional type designation
40 * This class corresponds to: <ul>
41 * <li> NomencalturalTypeTypeTerm according to the TDWG ontology
42 * <li> NomenclaturalTypeStatusOfUnitsEnum according to the TCS
47 * @created 08-Nov-2007 13:07:00
49 @XmlAccessorType(XmlAccessType
.FIELD
)
50 @XmlType(name
= "TypeDesignationStatusBase")
53 public abstract class TypeDesignationStatusBase
<T
extends TypeDesignationStatusBase
<?
>> extends OrderedTermBase
<T
> {
54 static Logger logger
= Logger
.getLogger(TypeDesignationStatusBase
.class);
56 // ************* CONSTRUCTORS *************/
58 * Class constructor: creates a new empty type designation status instance.
60 * @see #NameTypeDesignationStatus(String, String, String)
61 * @see #SpecimenTypeDesignationStatus(String, String, String)
63 public TypeDesignationStatusBase() {
68 * Class constructor: creates an additional type designation status instance
69 * with a description (in the {@link eu.etaxonomy.cdm.model.common.Language#DEFAULT() default language}), a label
70 * and a label abbreviation.
72 * @param term the string (in the default language) describing the
73 * new type designation status to be created
74 * @param label the string identifying the new type designation
75 * status to be created
76 * @param labelAbbrev the string identifying (in abbreviated form) the
77 * new type designation status to be created
78 * @see #SnameTypeDesignationStatus()
79 * @see #SpecimenTypeDesignationStatus()
81 public TypeDesignationStatusBase(String term
, String label
, String labelAbbrev
) {
82 super(term
, label
, labelAbbrev
);