-package org.simantics.db.impl.query;\r
-\r
-import gnu.trove.procedure.TLongProcedure;\r
-import gnu.trove.set.hash.TLongHashSet;\r
-\r
-final public class ObjectUpdateSet {\r
-\r
- private long first = 0;\r
- public TLongHashSet rest = new TLongHashSet();\r
- \r
- public int size() {\r
- if(first != 0) return 1;\r
- else return rest.size();\r
- }\r
- \r
- public long getFirst() {\r
- return first;\r
- }\r
- \r
- public void add(long l) {\r
- if(first == 0) {\r
- if(rest.isEmpty()) {\r
- first = l;\r
- } else {\r
- rest.add(l);\r
- }\r
- } else {\r
- if(l == first) return;\r
- rest.add(first);\r
- rest.add(l);\r
- first = 0;\r
- }\r
- }\r
- \r
- public void clear() {\r
- first = 0;\r
- if(!rest.isEmpty()) {\r
- rest = new TLongHashSet();\r
- //System.err.println("new rest!");\r
- }\r
- //rest.clear();\r
- }\r
- \r
- public void forEach(TLongProcedure proc) {\r
- if(first != 0) {\r
- proc.execute(first);\r
- } else {\r
- rest.forEach(proc);\r
- }\r
- }\r
- \r
-}\r
+package org.simantics.db.impl.query;
+
+import gnu.trove.procedure.TLongProcedure;
+import gnu.trove.set.hash.TLongHashSet;
+
+final public class ObjectUpdateSet {
+
+ private long first = 0;
+ public TLongHashSet rest = new TLongHashSet();
+
+ public int size() {
+ if(first != 0) return 1;
+ else return rest.size();
+ }
+
+ public long getFirst() {
+ return first;
+ }
+
+ public void add(long l) {
+ if(first == 0) {
+ if(rest.isEmpty()) {
+ first = l;
+ } else {
+ rest.add(l);
+ }
+ } else {
+ if(l == first) return;
+ rest.add(first);
+ rest.add(l);
+ first = 0;
+ }
+ }
+
+ public void clear() {
+ first = 0;
+ if(!rest.isEmpty()) {
+ rest = new TLongHashSet();
+ //System.err.println("new rest!");
+ }
+ //rest.clear();
+ }
+
+ public void forEach(TLongProcedure proc) {
+ if(first != 0) {
+ proc.execute(first);
+ } else {
+ rest.forEach(proc);
+ }
+ }
+
+}