1 package org.simantics.scl.compiler.environment.filter;
\r
3 import gnu.trove.set.hash.THashSet;
\r
5 public class NegativeNamespaceFilter implements NamespaceFilter {
\r
6 THashSet<String> excludedValues;
\r
8 public NegativeNamespaceFilter(THashSet<String> excludedValues) {
\r
9 this.excludedValues = excludedValues;
\r
13 public boolean isValueIncluded(String name) {
\r
14 return !excludedValues.contains(name);
\r
18 public String toString() {
\r
19 return "Exclude" + excludedValues.toString();
\r
23 public boolean isSubsetOf(NamespaceFilter filter) {
\r
24 if(filter == AcceptAllNamespaceFilter.INSTANCE)
\r
26 if(filter instanceof NegativeNamespaceFilter) {
\r
27 NegativeNamespaceFilter other = (NegativeNamespaceFilter)filter;
\r
28 for(String name : other.excludedValues)
\r
29 if(!excludedValues.contains(name))
\r