JAL-1483 making type visible also adds it to registry
[jalview.git] / src / jalview / viewmodel / seqfeatures / FeaturesDisplayed.java
1 package jalview.viewmodel.seqfeatures;
2
3 import jalview.api.FeaturesDisplayedI;
4
5 import java.util.Collection;
6 import java.util.HashSet;
7 import java.util.Hashtable;
8 import java.util.Iterator;
9 import java.util.List;
10 import java.util.Set;
11
12 public class FeaturesDisplayed implements FeaturesDisplayedI
13 {
14   private HashSet<String> featuresDisplayed = new HashSet<String>();
15
16   private HashSet<String> featuresRegistered = new HashSet<String>();
17
18   public FeaturesDisplayed(FeaturesDisplayedI featuresDisplayed2)
19   {
20     Iterator<String> fdisp = featuresDisplayed2.getVisibleFeatures();
21     String ftype;
22     while (fdisp.hasNext())
23     {
24       ftype = fdisp.next();
25       featuresDisplayed.add(ftype);
26       featuresRegistered.add(ftype);
27     }
28   }
29
30   public FeaturesDisplayed()
31   {
32     // TODO Auto-generated constructor stub
33   }
34
35   @Override
36   public Iterator<String> getVisibleFeatures()
37   {
38     return featuresDisplayed.iterator();
39   }
40
41   @Override
42   public boolean isVisible(String featureType)
43   {
44     return featuresDisplayed.contains(featureType);
45   }
46
47   @Override
48   public boolean areVisible(Collection featureTypes)
49   {
50     return featuresDisplayed.containsAll(featureTypes);
51   }
52
53   @Override
54   public void clear()
55   {
56     featuresDisplayed.clear();
57     featuresRegistered.clear();
58   }
59
60   @Override
61   public void setAllVisible(Collection makeVisible)
62   {
63     featuresDisplayed.addAll(makeVisible);
64     featuresRegistered.addAll(makeVisible);
65   }
66
67   @Override
68   public void setAllRegisteredVisible()
69   {
70     featuresDisplayed.addAll(featuresRegistered);
71   }
72
73   @Override
74   public void setVisible(String featureType)
75   {
76     featuresDisplayed.add(featureType);
77     featuresRegistered.add(featureType);
78   }
79
80   @Override
81   public boolean isRegistered(String type)
82   {
83     return featuresRegistered.contains(type);
84   }
85
86   @Override
87   public int getVisibleFeatureCount()
88   {
89     return featuresDisplayed.size();
90   }
91
92   @Override
93   public int getRegisterdFeaturesCount()
94   {
95     return featuresRegistered.size();
96   }
97 }