package eu.etaxonomy.cdm.model.name;\r
\r
import java.util.UUID;\r
+\r
+import javax.persistence.Entity;\r
+import javax.persistence.Transient;\r
+import javax.xml.bind.annotation.XmlAccessType;\r
+import javax.xml.bind.annotation.XmlAccessorType;\r
+import javax.xml.bind.annotation.XmlType;\r
+\r
import org.apache.log4j.Logger;\r
import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
\r
* @created 19.05.2008\r
* @version 1.0\r
*/\r
+@XmlAccessorType(XmlAccessType.FIELD)\r
+@Entity\r
public class NomenclaturalCode extends DefinedTermBase {\r
private static final Logger logger = Logger.getLogger(NomenclaturalCode.class);\r
\r
* @param term\r
* @param label\r
*/\r
- public NomenclaturalCode(String term, String label) {\r
- super(term, label);\r
+ public NomenclaturalCode(String term, String label, String labelAbbrev) {\r
+ super(term, label, labelAbbrev);\r
}\r
\r
\r
return getByUuid(uuidViral);\r
}\r
\r
+ @Transient\r
+ public TaxonNameBase getNewTaxonNameInstance(Rank rank){\r
+ TaxonNameBase result;\r
+ if (this.equals(NomenclaturalCode.ICBN())){\r
+ result = BotanicalName.NewInstance(rank);\r
+ }else if (this.equals(NomenclaturalCode.ICZN())){\r
+ result = ZoologicalName.NewInstance(rank);\r
+ }else if (this.equals(NomenclaturalCode.ICNCP())){\r
+ result = CultivarPlantName.NewInstance(rank);\r
+ }else if (this.equals(NomenclaturalCode.BACTERIOLOGICAL())){\r
+ result = BacterialName.NewInstance(rank);\r
+ }else if (this.equals(NomenclaturalCode.VIRAL())){\r
+ result = ViralName.NewInstance(rank);\r
+ }else {\r
+ logger.warn("Unknown nomenclatural code: " + this.getUuid());\r
+ result = null;\r
+ }\r
+ return result;\r
+ }\r
+ \r
+ \r
}\r