JAXB annotations - first drop
[cdmlib.git] / cdmlib-model / src / main / java / eu / etaxonomy / cdm / model / name / BacterialName.java
index 2069409d3ca69fdb76c7f18e0271143543788f3b..2b46db5e31174017dc88be5eac4c858d8e0ad735 100644 (file)
@@ -13,6 +13,11 @@ package eu.etaxonomy.cdm.model.name;
 import org.apache.log4j.Logger;
 
 import javax.persistence.*;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
 
 /**
  * Taxon name class for bacteria
@@ -20,19 +25,36 @@ import javax.persistence.*;
  * @version 1.0
  * @created 08-Nov-2007 13:06:11
  */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+    "subGenusAuthorship",
+    "nameApprobation"
+})
+@XmlRootElement(name = "BacterialName")
 @Entity
 public class BacterialName extends NonViralName {
+       
        static Logger logger = Logger.getLogger(BacterialName.class);
 
        //Author team and year of the subgenus name
+       @XmlElement(name = "SubGenusAuthorship")
        private String subGenusAuthorship;
+       
        //Approbation of name according to approved list, validation list,or validly published, paper in IJSB after 1980
+       @XmlElement(name = "NameApprobation")
        private String nameApprobation;
 
-       public BacterialName(Rank rank) {
-               super(rank);
+       public static BacterialName NewInstance(Rank rank){
+               return new BacterialName(rank, null);
        }
 
+       public static BacterialName NewInstance(Rank rank, HomotypicalGroup homotypicalGroup){
+               return new BacterialName(rank, homotypicalGroup);
+       }
+
+       protected BacterialName(Rank rank, HomotypicalGroup homotypicalGroup) {
+               super(rank, homotypicalGroup);
+       }
        
        public String getSubGenusAuthorship(){
                return this.subGenusAuthorship;
@@ -57,5 +79,13 @@ public class BacterialName extends NonViralName {
        public void setNameApprobation(String nameApprobation){
                this.nameApprobation = nameApprobation;
        }
+       
+       
+       @Transient
+       @Override
+       public NomenclaturalCode getNomeclaturalCode(){
+               return NomenclaturalCode.BACTERIOLOGICAL();
+
+       }
 
 }
\ No newline at end of file