]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/IntArray.java
DB query swapping to file system
[simantics/platform.git] / bundles / org.simantics.db.impl / src / org / simantics / db / impl / query / IntArray.java
index 6ee30ad70fd1d341930f11c35eabe2ecdf69af87..53b447f08b3da6e081bfff9d1a0452c4bd552bde 100644 (file)
@@ -13,6 +13,8 @@ package org.simantics.db.impl.query;
 
 import java.util.Arrays;
 
+import org.simantics.db.exception.DatabaseException;
+
 
 final public class IntArray {
 
@@ -111,7 +113,27 @@ final public class IntArray {
        }
        return result;
     }
-    
+    public void serialize(QuerySerializer serializer) {
+        int size = size();
+        serializer.writeLE(size);
+        if(size == 1) {
+            serializer.addResource(sizeOrData);
+        } else {
+            for(int i=0;i<size;i++)
+                serializer.addResource(data[i]);
+        }
+    }
+    public static IntArray deserialize(QueryDeserializer deserializer) throws DatabaseException {
+        int size = deserializer.readLE4();
+        IntArray result = new IntArray();
+        for(int i=0;i<size;i++) {
+            result.add(deserializer.readResource());
+        }
+        return result;
+    }
+
     @Override
     public boolean equals(Object object) {
         if (this == object)