minor
[cdmlib.git] / cdmlib-model / src / main / java / eu / etaxonomy / cdm / model / description / FeatureTree.java
index abb7b14c380d1c44df71730fe429b3854b27b4ee..33f7d0e5fddac28c2951e9fdd34269c12f9f7183 100644 (file)
@@ -10,7 +10,9 @@
 package eu.etaxonomy.cdm.model.description;
 
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 import java.util.UUID;
 
 import javax.persistence.Entity;
@@ -81,6 +83,7 @@ public class FeatureTree extends TermBase {
        protected FeatureTree() {
                super();
                root = FeatureNode.NewInstance();
+               root.setFeatureTree(this);
        }
 
        /** 
@@ -187,4 +190,16 @@ public class FeatureTree extends TermBase {
                return result;
        }
        
+       /**
+        * Computes a set of distinct features that are present in this feature tree
+        * 
+        * @return
+        */
+       @Transient
+       public Set<Feature> getDistinctFeatures(){
+               Set<Feature> features = new HashSet<Feature>();
+               
+               return root.getDistinctFeaturesRecursive(features);
+       }
+       
 }
\ No newline at end of file