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;
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;
}
}
}
+
+ public void forEach(ReadGraphImpl graph, IntProcedure procedure) throws DatabaseException {
+ if(data != null) {
+ for(int i=0;i<sizeOrData;++i)
+ procedure.execute(graph, data[i]);
+ }
+ else if(sizeOrData == NO_DATA) {
+ } else {
+ procedure.execute(graph, sizeOrData);
+ }
+ procedure.finished(graph);
+ }
}
\ No newline at end of file