JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.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.Iterator;
8
9 public class FeaturesDisplayed implements FeaturesDisplayedI
10 {
11   private HashSet<String> featuresDisplayed = new HashSet<String>();
12
13   private HashSet<String> featuresRegistered = new HashSet<String>();
14
15   public FeaturesDisplayed(FeaturesDisplayedI featuresDisplayed2)
16   {
17     Iterator<String> fdisp = featuresDisplayed2.getVisibleFeatures();
18     String ftype;
19     while (fdisp.hasNext())
20     {
21       ftype = fdisp.next();
22       featuresDisplayed.add(ftype);
23       featuresRegistered.add(ftype);
24     }
25   }
26
27   public FeaturesDisplayed()
28   {
29     // TODO Auto-generated constructor stub
30   }
31
32   @Override
33   public Iterator<String> getVisibleFeatures()
34   {
35     return featuresDisplayed.iterator();
36   }
37
38   @Override
39   public boolean isVisible(String featureType)
40   {
41     return featuresDisplayed.contains(featureType);
42   }
43
44   @Override
45   public boolean areVisible(Collection featureTypes)
46   {
47     return featuresDisplayed.containsAll(featureTypes);
48   }
49
50   @Override
51   public void clear()
52   {
53     featuresDisplayed.clear();
54     featuresRegistered.clear();
55   }
56
57   @Override
58   public void setAllVisible(Collection makeVisible)
59   {
60     featuresDisplayed.addAll(makeVisible);
61     featuresRegistered.addAll(makeVisible);
62   }
63
64   @Override
65   public void setAllRegisteredVisible()
66   {
67     featuresDisplayed.addAll(featuresRegistered);
68   }
69
70   @Override
71   public void setVisible(String featureType)
72   {
73     featuresDisplayed.add(featureType);
74     featuresRegistered.add(featureType);
75   }
76
77   @Override
78   public boolean isRegistered(String type)
79   {
80     return featuresRegistered.contains(type);
81   }
82
83   @Override
84   public int getVisibleFeatureCount()
85   {
86     return featuresDisplayed.size();
87   }
88
89   @Override
90   public int getRegisterdFeaturesCount()
91   {
92     return featuresRegistered.size();
93   }
94 }