(no commit message)
[cdmlib.git] / cdmlib-model / src / main / java / eu / etaxonomy / cdm / model / name / BotanicalName.java
index 9444e4a847a162ca7792334750d3ddacb01f357c..46c76b7a99bd4933e2055510eb4b7c927e6ca446 100644 (file)
@@ -15,9 +15,10 @@ import org.hibernate.annotations.Cascade;
 import org.hibernate.annotations.CascadeType;
 
 import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
+import eu.etaxonomy.cdm.model.common.RelationshipBase;
 import eu.etaxonomy.cdm.model.reference.INomenclaturalReference;
 import eu.etaxonomy.cdm.strategy.cache.BotanicNameDefaultCacheStrategy;
-import eu.etaxonomy.cdm.strategy.parser.ITaxonNameParser;
+import eu.etaxonomy.cdm.strategy.parser.INonViralNameParser;
 import eu.etaxonomy.cdm.strategy.parser.NonViralNameParserImpl;
 
 import java.util.*;
@@ -42,7 +43,7 @@ public class BotanicalName extends NonViralName {
        private boolean isAnamorphic;
        private Set<HybridRelationship> hybridRelationships = new HashSet();
 
-       static private ITaxonNameParser nameParser = new NonViralNameParserImpl();
+       static private INonViralNameParser nameParser = new NonViralNameParserImpl();
        
        
        /**
@@ -150,7 +151,13 @@ public class BotanicalName extends NonViralName {
                return hybridRelationships;
        }
 
-
+       public void addRelationship(RelationshipBase relation) {
+               if (relation instanceof HybridRelationship){
+                       addHybridRelationship((HybridRelationship)relation);
+               }else {
+                       super.addRelationship(relation);
+               }
+       }
 
        public boolean isHybridFormula(){
                return this.isHybridFormula;
@@ -213,6 +220,7 @@ public class BotanicalName extends NonViralName {
        }
        
        
+       @Transient
        @Override
        public NomenclaturalCode getNomeclaturalCode(){
                return NomenclaturalCode.ICBN();