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
;
21 import eu
.etaxonomy
.cdm
.model
.common
.OrderedTermBase
;
24 * The class representing status (categories) of {@link SpecimenTypeDesignation specimen type designations}
25 * for a {@link TaxonNameBase taxon name} or a set of them. Within this set {@link NameRelationshipType#BASIONYM() basionyms}
26 * or {@link NameRelationshipType#REPLACED_SYNONYM() replaced synonyms}, in case of reclassifications,
27 * will be here referred as "type-bringing" taxon names.
29 * The different status indicate whether the {@link eu.etaxonomy.cdm.model.occurrence.Specimen specimens} used as types
30 * in a designation are duplicates, replacements, related specimens etc.
32 * A standard (ordered) list of type designation status instances will be
33 * automatically created as the project starts. But this class allows to extend
34 * this standard list by creating new instances of additional type designation
37 * This class corresponds to: <ul>
38 * <li> NomencalturalTypeTypeTerm according to the TDWG ontology
39 * <li> NomenclaturalTypeStatusOfUnitsEnum according to the TCS
44 * @created 08-Nov-2007 13:07:00
46 @XmlAccessorType(XmlAccessType
.FIELD
)
47 @XmlType(name
= "TypeDesignationStatusBase")
49 NameTypeDesignationStatus
.class,
50 SpecimenTypeDesignationStatus
.class
54 public abstract class TypeDesignationStatusBase
<T
extends TypeDesignationStatusBase
<?
>> extends OrderedTermBase
<T
> {
55 static Logger logger
= Logger
.getLogger(TypeDesignationStatusBase
.class);
57 // ************* CONSTRUCTORS *************/
59 * Class constructor: creates a new empty type designation status instance.
61 * @see #NameTypeDesignationStatus(String, String, String)
62 * @see #SpecimenTypeDesignationStatus(String, String, String)
64 public TypeDesignationStatusBase() {
69 * Class constructor: creates an additional type designation status instance
70 * with a description (in the {@link eu.etaxonomy.cdm.model.common.Language#DEFAULT() default language}), a label
71 * and a label abbreviation.
73 * @param term the string (in the default language) describing the
74 * new type designation status to be created
75 * @param label the string identifying the new type designation
76 * status to be created
77 * @param labelAbbrev the string identifying (in abbreviated form) the
78 * new type designation status to be created
79 * @see #SnameTypeDesignationStatus()
80 * @see #SpecimenTypeDesignationStatus()
82 public TypeDesignationStatusBase(String term
, String label
, String labelAbbrev
) {
83 super(term
, label
, labelAbbrev
);