+package jalview.viewmodel.seqfeatures;
+
+import jalview.api.FeaturesDisplayedI;
+
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+public class FeaturesDisplayed implements FeaturesDisplayedI
+{
+ private HashSet<String> featuresDisplayed = new HashSet<String>();
+
+ private HashSet<String> featuresRegistered = new HashSet<String>();
+
+ public FeaturesDisplayed(FeaturesDisplayedI featuresDisplayed2)
+ {
+ Iterator<String> fdisp = featuresDisplayed2.getVisibleFeatures();
+ String ftype;
+ while (fdisp.hasNext())
+ {
+ ftype = fdisp.next();
+ featuresDisplayed.add(ftype);
+ featuresRegistered.add(ftype);
+ }
+ }
+
+ public FeaturesDisplayed()
+ {
+ // TODO Auto-generated constructor stub
+ }
+
+ @Override
+ public Iterator<String> getVisibleFeatures()
+ {
+ return featuresDisplayed.iterator();
+ }
+
+ @Override
+ public boolean isVisible(String featureType)
+ {
+ return featuresDisplayed.contains(featureType);
+ }
+
+ @Override
+ public boolean areVisible(Collection featureTypes)
+ {
+ return featuresDisplayed.containsAll(featureTypes);
+ }
+
+ @Override
+ public void clear()
+ {
+ featuresDisplayed.clear();
+ featuresRegistered.clear();
+ }
+
+ @Override
+ public void setAllVisible(Collection makeVisible)
+ {
+ featuresDisplayed.addAll(makeVisible);
+ }
+
+ @Override
+ public void setAllRegisteredVisible()
+ {
+ featuresDisplayed.addAll(featuresRegistered);
+ }
+
+ @Override
+ public void setVisible(String featureType)
+ {
+ featuresDisplayed.add(featureType);
+ }
+
+ @Override
+ public boolean isRegistered(String type)
+ {
+ return featuresRegistered.contains(type);
+ }
+
+ @Override
+ public int getVisibleFeatureCount()
+ {
+ return featuresDisplayed.size();
+ }
+
+ @Override
+ public int getRegisterdFeaturesCount()
+ {
+ return featuresRegistered.size();
+ }
+}