root/trunk/cdmlib/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/name/TypeDesignationStatusBase.java

Revision 7755, 3.3 kB (checked in by ben.clark, 2 years ago)

TermBase? and descendants indexed using hibernate search

Line 
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
10package eu.etaxonomy.cdm.model.name;
11
12import javax.persistence.Entity;
13import javax.xml.bind.annotation.XmlAccessType;
14import javax.xml.bind.annotation.XmlAccessorType;
15import javax.xml.bind.annotation.XmlSeeAlso;
16import javax.xml.bind.annotation.XmlType;
17
18import org.apache.log4j.Logger;
19import org.hibernate.envers.Audited;
20import org.hibernate.search.annotations.Indexed;
21
22import eu.etaxonomy.cdm.model.common.OrderedTermBase;
23
24/**
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.
29 * <P>
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.
32 * <P>
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
36 * status if needed.
37 * <P>
38 * This class corresponds to: <ul>
39 * <li> NomencalturalTypeTypeTerm according to the TDWG ontology
40 * <li> NomenclaturalTypeStatusOfUnitsEnum according to the TCS
41 * </ul>
42 *
43 * @author m.doering
44 * @version 1.0
45 * @created 08-Nov-2007 13:07:00
46 */
47@XmlAccessorType(XmlAccessType.FIELD)
48@XmlType(name = "TypeDesignationStatusBase")
49@XmlSeeAlso({
50        NameTypeDesignationStatus.class,
51        SpecimenTypeDesignationStatus.class
52})
53@Entity
54@Indexed(index = "eu.etaxonomy.cdm.model.common.DefinedTermBase")
55@Audited
56public abstract class TypeDesignationStatusBase<T extends TypeDesignationStatusBase<?>> extends OrderedTermBase<T> {
57        static Logger logger = Logger.getLogger(TypeDesignationStatusBase.class);
58
59        // ************* CONSTRUCTORS *************/   
60        /**
61         * Class constructor: creates a new empty type designation status instance.
62         *
63         * @see         #NameTypeDesignationStatus(String, String, String)
64         * @see         #SpecimenTypeDesignationStatus(String, String, String)
65         */
66        public TypeDesignationStatusBase() {
67        }
68
69
70        /**
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.
74         *
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()
83         */
84        public TypeDesignationStatusBase(String term, String label, String labelAbbrev) {
85                super(term, label, labelAbbrev);
86        }
87}
Note: See TracBrowser for help on using the browser.