JAXB annotations - first drop
[cdmlib.git] / cdmlib-model / src / main / java / eu / etaxonomy / cdm / model / name / CultivarPlantName.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 org.apache.log4j.Logger;
13 import javax.persistence.*;
14 import javax.xml.bind.annotation.XmlAccessType;
15 import javax.xml.bind.annotation.XmlAccessorType;
16 import javax.xml.bind.annotation.XmlElement;
17 import javax.xml.bind.annotation.XmlRootElement;
18 import javax.xml.bind.annotation.XmlType;
19
20 /**
21 * Taxon name class for cultivars. {only possible for CULTIVAR, GREX, CONVAR,
22 * CULTIVAR_GROUP, GRAFT_CHIMAERA and DENOMINATION_CLASS ranks}
23 * @author m.doering
24 * @version 1.0
25 * @created 08-Nov-2007 13:06:18
26 */
27 @XmlAccessorType(XmlAccessType.FIELD)
28 @XmlType(name = "", propOrder = {
29 "cultivarName"
30 })
31 @XmlRootElement(name = "CultivarPlantName")
32 @Entity
33 public class CultivarPlantName extends BotanicalName {
34 static Logger logger = Logger.getLogger(CultivarPlantName.class);
35
36 //the characteristical name of the cultivar
37 @XmlElement(name = "CultivarName", required = true)
38 private String cultivarName;
39
40 public CultivarPlantName(){
41 }
42
43 public static CultivarPlantName NewInstance(Rank rank){
44 return new CultivarPlantName(rank, null);
45 }
46
47 public static CultivarPlantName NewInstance(Rank rank, HomotypicalGroup homotypicalGroup){
48 return new CultivarPlantName(rank, homotypicalGroup);
49 }
50
51 protected CultivarPlantName(Rank rank, HomotypicalGroup homotypicalGroup) {
52 super(rank, homotypicalGroup);
53 }
54
55 public String getCultivarName(){
56 return this.cultivarName;
57 }
58
59 /**
60 *
61 * @param cultivarName cultivarName
62 */
63 public void setCultivarName(String cultivarName){
64 this.cultivarName = cultivarName;
65 }
66
67
68 @Transient
69 @Override
70 public NomenclaturalCode getNomeclaturalCode(){
71 return NomenclaturalCode.ICNCP();
72 }
73
74 }