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