--- /dev/null
+package org.simantics.scl.compiler.environment.filter;\r
+\r
+import gnu.trove.set.hash.THashSet;\r
+\r
+public class PositiveNamespaceFilter implements NamespaceFilter {\r
+ THashSet<String> includedValues;\r
+\r
+ public PositiveNamespaceFilter(THashSet<String> includedValues) {\r
+ this.includedValues = includedValues;\r
+ }\r
+\r
+ @Override\r
+ public boolean isValueIncluded(String name) {\r
+ return includedValues.contains(name);\r
+ }\r
+ \r
+ @Override\r
+ public String toString() {\r
+ return "Include" + includedValues.toString();\r
+ }\r
+\r
+ @Override\r
+ public boolean isSubsetOf(NamespaceFilter filter) {\r
+ if(filter == AcceptAllNamespaceFilter.INSTANCE)\r
+ return true;\r
+ for(String name : includedValues)\r
+ if(!filter.isValueIncluded(name))\r
+ return false;\r
+ return true;\r
+ }\r
+}\r