X-Git-Url: https://dev.e-taxonomy.eu/gitweb/cdmlib.git/blobdiff_plain/17093cc0fa5ff22f1daeb69d66ad08f40e5cb50f..4a45c8bdf856a1e20ec0f95e9ba61e4ff9b98073:/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/description/FeatureTree.java diff --git a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/description/FeatureTree.java b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/description/FeatureTree.java index abb7b14c38..33f7d0e5fd 100644 --- a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/description/FeatureTree.java +++ b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/description/FeatureTree.java @@ -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 getDistinctFeatures(){ + Set features = new HashSet(); + + return root.getDistinctFeaturesRecursive(features); + } + } \ No newline at end of file