]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/environment/filter/PositiveNamespaceFilter.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / environment / filter / PositiveNamespaceFilter.java
1 package org.simantics.scl.compiler.environment.filter;
2
3 import gnu.trove.set.hash.THashSet;
4
5 public class PositiveNamespaceFilter implements NamespaceFilter {
6     THashSet<String> includedValues;
7
8     public PositiveNamespaceFilter(THashSet<String> includedValues) {
9         this.includedValues = includedValues;
10     }
11
12     @Override
13     public boolean isValueIncluded(String name) {
14         return includedValues.contains(name);
15     }
16     
17     @Override
18     public String toString() {
19         return "Include" + includedValues.toString();
20     }
21
22     @Override
23     public boolean isSubsetOf(NamespaceFilter filter) {
24         if(filter == AcceptAllNamespaceFilter.INSTANCE)
25             return true;
26         for(String name : includedValues)
27             if(!filter.isValueIncluded(name))
28                 return false;
29         return true;
30     }
31 }