]> gerrit.simantics Code Review - simantics/platform.git/blob - 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
1 package org.simantics.db.service;\r
2 \r
3 \r
4 final public class Bytes {\r
5 \r
6         final public static void write(byte[] bytes, int index, byte value) {\r
7                 bytes[index] = value;\r
8         }\r
9 \r
10         final public static void writeLE(byte[] bytes, int index, long value) {\r
11                 \r
12                 bytes[index++] = (byte) (value & 0xFF);\r
13                 bytes[index++] = (byte) ((value >>> 8) & 0xFF);\r
14                 bytes[index++] = (byte) ((value >>> 16) & 0xFF);\r
15                 bytes[index++] = (byte) ((value >>> 24) & 0xFF);\r
16                 bytes[index++] = (byte) ((value >>> 32) & 0xFF);\r
17                 bytes[index++] = (byte) ((value >>> 40) & 0xFF);\r
18                 bytes[index++] = (byte) ((value >>> 48) & 0xFF);\r
19                 bytes[index++] = (byte) ((value >>> 56) & 0xFF);\r
20                 \r
21         }\r
22 \r
23         final public static void writeLE6(byte[] bytes, int index, long value) {\r
24                 \r
25                 bytes[index++] = (byte) (value & 0xFF);\r
26                 bytes[index++] = (byte) ((value >>> 8) & 0xFF);\r
27                 bytes[index++] = (byte) ((value >>> 16) & 0xFF);\r
28                 bytes[index++] = (byte) ((value >>> 24) & 0xFF);\r
29                 bytes[index++] = (byte) ((value >>> 32) & 0xFF);\r
30                 bytes[index++] = (byte) ((value >>> 40) & 0xFF);\r
31                 \r
32         }\r
33 \r
34         final public static void writeLE7(byte[] bytes, int index, long value) {\r
35                 \r
36                 bytes[index++] = (byte) (value & 0xFF);\r
37                 bytes[index++] = (byte) ((value >>> 8) & 0xFF);\r
38                 bytes[index++] = (byte) ((value >>> 16) & 0xFF);\r
39                 bytes[index++] = (byte) ((value >>> 24) & 0xFF);\r
40                 bytes[index++] = (byte) ((value >>> 32) & 0xFF);\r
41                 bytes[index++] = (byte) ((value >>> 40) & 0xFF);\r
42                 bytes[index++] = (byte) ((value >>> 48) & 0xFF);\r
43                 \r
44         }\r
45         \r
46         final public static void writeLE8(byte[] bytes, int index, long value) {\r
47                 \r
48                 bytes[index++] = (byte) (value & 0xFF);\r
49                 bytes[index++] = (byte) ((value >>> 8) & 0xFF);\r
50                 bytes[index++] = (byte) ((value >>> 16) & 0xFF);\r
51                 bytes[index++] = (byte) ((value >>> 24) & 0xFF);\r
52                 bytes[index++] = (byte) ((value >>> 32) & 0xFF);\r
53                 bytes[index++] = (byte) ((value >>> 40) & 0xFF);\r
54                 bytes[index++] = (byte) ((value >>> 48) & 0xFF);\r
55                 bytes[index++] = (byte) ((value >>> 56) & 0xFF);\r
56                 \r
57         }\r
58 \r
59         final public static void writeLE(byte[] bytes, int index, int value) {\r
60                 \r
61                 bytes[index++] = (byte) (value & 0xFF);\r
62                 bytes[index++] = (byte) ((value >>> 8) & 0xFF);\r
63                 bytes[index++] = (byte) ((value >>> 16) & 0xFF);\r
64                 bytes[index++] = (byte) ((value >>> 24) & 0xFF);\r
65                 \r
66         }\r
67 \r
68         final public static void writeLE(byte[] bytes, int index, short value) {\r
69                 \r
70                 bytes[index++] = (byte) (value & 0xFF);\r
71                 bytes[index++] = (byte) ((value >>> 8) & 0xFF);\r
72                 \r
73         }\r
74         \r
75         final public static byte read(byte[] bytes, int byteIndex) {\r
76                 return bytes[byteIndex++];\r
77         }\r
78 \r
79         final public static int readLE2(byte[] bytes, int byteIndex) {\r
80                 int result = (int) \r
81                         (((int)(bytes[byteIndex++] & 0xff)) | \r
82                         (((int)(bytes[byteIndex++] & 0xff))<<8)); \r
83                 return result;\r
84         }\r
85 \r
86         final public static int readLE4(byte[] bytes, int byteIndex) {\r
87                 int result = (int) \r
88                         (((int)(bytes[byteIndex++] & 0xff)) | \r
89                         (((int)(bytes[byteIndex++] & 0xff))<<8) | \r
90                         (((int)(bytes[byteIndex++] & 0xff))<<16) | \r
91                         (((int)(bytes[byteIndex++] & 0xff))<<24)); \r
92                 return result;\r
93         }\r
94         \r
95         final public static long readLE7(byte[] bytes, int byteIndex) {\r
96                 long result = (long) \r
97                         (((long)(bytes[byteIndex++] & 0xff)) | \r
98                         (((long)(bytes[byteIndex++] & 0xff))<<8) | \r
99                         (((long)(bytes[byteIndex++] & 0xff))<<16) | \r
100                         (((long)(bytes[byteIndex++] & 0xff))<<24) | \r
101                         (((long)(bytes[byteIndex++] & 0xff))<<32) | \r
102                         (((long)(bytes[byteIndex++] & 0xff))<<40) | \r
103                         (((long)(bytes[byteIndex++] & 0xff))<<48));\r
104                 return result;\r
105         }\r
106 \r
107         final public static long readLE8(byte[] bytes, int byteIndex) {\r
108                 long result = (long) \r
109                         (((long)(bytes[byteIndex++] & 0xff)) | \r
110                         (((long)(bytes[byteIndex++] & 0xff))<<8) | \r
111                         (((long)(bytes[byteIndex++] & 0xff))<<16) | \r
112                         (((long)(bytes[byteIndex++] & 0xff))<<24) | \r
113                         (((long)(bytes[byteIndex++] & 0xff))<<32) | \r
114                         (((long)(bytes[byteIndex++] & 0xff))<<40) | \r
115                         (((long)(bytes[byteIndex++] & 0xff))<<48) | \r
116                         (((long)(bytes[byteIndex++] & 0xff))<<56));\r
117                 return result;\r
118         }\r
119                 \r
120 }\r