]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db/src/org/simantics/db/service/Bytes.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.db / src / org / simantics / db / service / Bytes.java
diff --git a/bundles/org.simantics.db/src/org/simantics/db/service/Bytes.java b/bundles/org.simantics.db/src/org/simantics/db/service/Bytes.java
new file mode 100644 (file)
index 0000000..fcd12a0
--- /dev/null
@@ -0,0 +1,120 @@
+package org.simantics.db.service;\r
+\r
+\r
+final public class Bytes {\r
+\r
+       final public static void write(byte[] bytes, int index, byte value) {\r
+               bytes[index] = value;\r
+       }\r
+\r
+       final public static void writeLE(byte[] bytes, int index, long value) {\r
+               \r
+               bytes[index++] = (byte) (value & 0xFF);\r
+               bytes[index++] = (byte) ((value >>> 8) & 0xFF);\r
+               bytes[index++] = (byte) ((value >>> 16) & 0xFF);\r
+               bytes[index++] = (byte) ((value >>> 24) & 0xFF);\r
+               bytes[index++] = (byte) ((value >>> 32) & 0xFF);\r
+               bytes[index++] = (byte) ((value >>> 40) & 0xFF);\r
+               bytes[index++] = (byte) ((value >>> 48) & 0xFF);\r
+               bytes[index++] = (byte) ((value >>> 56) & 0xFF);\r
+               \r
+       }\r
+\r
+       final public static void writeLE6(byte[] bytes, int index, long value) {\r
+               \r
+               bytes[index++] = (byte) (value & 0xFF);\r
+               bytes[index++] = (byte) ((value >>> 8) & 0xFF);\r
+               bytes[index++] = (byte) ((value >>> 16) & 0xFF);\r
+               bytes[index++] = (byte) ((value >>> 24) & 0xFF);\r
+               bytes[index++] = (byte) ((value >>> 32) & 0xFF);\r
+               bytes[index++] = (byte) ((value >>> 40) & 0xFF);\r
+               \r
+       }\r
+\r
+       final public static void writeLE7(byte[] bytes, int index, long value) {\r
+               \r
+               bytes[index++] = (byte) (value & 0xFF);\r
+               bytes[index++] = (byte) ((value >>> 8) & 0xFF);\r
+               bytes[index++] = (byte) ((value >>> 16) & 0xFF);\r
+               bytes[index++] = (byte) ((value >>> 24) & 0xFF);\r
+               bytes[index++] = (byte) ((value >>> 32) & 0xFF);\r
+               bytes[index++] = (byte) ((value >>> 40) & 0xFF);\r
+               bytes[index++] = (byte) ((value >>> 48) & 0xFF);\r
+               \r
+       }\r
+       \r
+       final public static void writeLE8(byte[] bytes, int index, long value) {\r
+               \r
+               bytes[index++] = (byte) (value & 0xFF);\r
+               bytes[index++] = (byte) ((value >>> 8) & 0xFF);\r
+               bytes[index++] = (byte) ((value >>> 16) & 0xFF);\r
+               bytes[index++] = (byte) ((value >>> 24) & 0xFF);\r
+               bytes[index++] = (byte) ((value >>> 32) & 0xFF);\r
+               bytes[index++] = (byte) ((value >>> 40) & 0xFF);\r
+               bytes[index++] = (byte) ((value >>> 48) & 0xFF);\r
+               bytes[index++] = (byte) ((value >>> 56) & 0xFF);\r
+               \r
+       }\r
+\r
+       final public static void writeLE(byte[] bytes, int index, int value) {\r
+               \r
+               bytes[index++] = (byte) (value & 0xFF);\r
+               bytes[index++] = (byte) ((value >>> 8) & 0xFF);\r
+               bytes[index++] = (byte) ((value >>> 16) & 0xFF);\r
+               bytes[index++] = (byte) ((value >>> 24) & 0xFF);\r
+               \r
+       }\r
+\r
+       final public static void writeLE(byte[] bytes, int index, short value) {\r
+               \r
+               bytes[index++] = (byte) (value & 0xFF);\r
+               bytes[index++] = (byte) ((value >>> 8) & 0xFF);\r
+               \r
+       }\r
+       \r
+       final public static byte read(byte[] bytes, int byteIndex) {\r
+               return bytes[byteIndex++];\r
+       }\r
+\r
+       final public static int readLE2(byte[] bytes, int byteIndex) {\r
+               int result = (int) \r
+                       (((int)(bytes[byteIndex++] & 0xff)) | \r
+                       (((int)(bytes[byteIndex++] & 0xff))<<8)); \r
+               return result;\r
+       }\r
+\r
+       final public static int readLE4(byte[] bytes, int byteIndex) {\r
+               int result = (int) \r
+                       (((int)(bytes[byteIndex++] & 0xff)) | \r
+                       (((int)(bytes[byteIndex++] & 0xff))<<8) | \r
+                       (((int)(bytes[byteIndex++] & 0xff))<<16) | \r
+                       (((int)(bytes[byteIndex++] & 0xff))<<24)); \r
+               return result;\r
+       }\r
+       \r
+       final public static long readLE7(byte[] bytes, int byteIndex) {\r
+               long result = (long) \r
+                       (((long)(bytes[byteIndex++] & 0xff)) | \r
+                       (((long)(bytes[byteIndex++] & 0xff))<<8) | \r
+                       (((long)(bytes[byteIndex++] & 0xff))<<16) | \r
+                       (((long)(bytes[byteIndex++] & 0xff))<<24) | \r
+                       (((long)(bytes[byteIndex++] & 0xff))<<32) | \r
+                       (((long)(bytes[byteIndex++] & 0xff))<<40) | \r
+                       (((long)(bytes[byteIndex++] & 0xff))<<48));\r
+               return result;\r
+       }\r
+\r
+       final public static long readLE8(byte[] bytes, int byteIndex) {\r
+               long result = (long) \r
+                       (((long)(bytes[byteIndex++] & 0xff)) | \r
+                       (((long)(bytes[byteIndex++] & 0xff))<<8) | \r
+                       (((long)(bytes[byteIndex++] & 0xff))<<16) | \r
+                       (((long)(bytes[byteIndex++] & 0xff))<<24) | \r
+                       (((long)(bytes[byteIndex++] & 0xff))<<32) | \r
+                       (((long)(bytes[byteIndex++] & 0xff))<<40) | \r
+                       (((long)(bytes[byteIndex++] & 0xff))<<48) | \r
+                       (((long)(bytes[byteIndex++] & 0xff))<<56));\r
+               return result;\r
+       }\r
+               \r
+}\r