X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.db.impl%2Fsrc%2Forg%2Fsimantics%2Fdb%2Fimpl%2Fquery%2FIntSet.java;h=813677d53265d36079395fd471f160e69237680b;hb=68ce0966a57f5153b133c6283fdbae10f683b745;hp=7c32b8e593e19ea7757355d3c1768c0757abe7c1;hpb=fee3021f75832c40f349ab22af389d6dda7d7052;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/IntSet.java b/bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/IntSet.java index 7c32b8e59..813677d53 100644 --- a/bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/IntSet.java +++ b/bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/IntSet.java @@ -18,9 +18,12 @@ import java.util.Collection; import java.util.Iterator; import java.util.Set; +import org.simantics.db.ReadGraph; import org.simantics.db.Resource; import org.simantics.db.ResourceSet; +import org.simantics.db.exception.DatabaseException; import org.simantics.db.impl.ResourceImpl; +import org.simantics.db.impl.graph.ReadGraphImpl; import org.simantics.db.impl.support.ResourceSupport; @@ -40,12 +43,12 @@ final public class IntSet implements ResourceSet { private static final Object[] EMPTY_ARRAY = new Object[0]; - public IntSet() { - support = null; - data = null; - sizeOrData = NO_DATA; + public static IntSet EMPTY = new IntSet(); + + private IntSet() { + support = null; } - + public IntSet(QuerySupport support) { this.support = support.getSupport(); data = null; @@ -286,5 +289,17 @@ final public class IntSet implements ResourceSet { } } } + + public void forEach(ReadGraphImpl graph, IntProcedure procedure) throws DatabaseException { + if(data != null) { + for(int i=0;i