1 package org.simantics.db.service;
4 final public class Bytes {
6 final public static void write(byte[] bytes, int index, byte value) {
10 final public static void writeLE(byte[] bytes, int index, long value) {
12 bytes[index++] = (byte) (value & 0xFF);
13 bytes[index++] = (byte) ((value >>> 8) & 0xFF);
14 bytes[index++] = (byte) ((value >>> 16) & 0xFF);
15 bytes[index++] = (byte) ((value >>> 24) & 0xFF);
16 bytes[index++] = (byte) ((value >>> 32) & 0xFF);
17 bytes[index++] = (byte) ((value >>> 40) & 0xFF);
18 bytes[index++] = (byte) ((value >>> 48) & 0xFF);
19 bytes[index++] = (byte) ((value >>> 56) & 0xFF);
23 final public static void writeLE6(byte[] bytes, int index, long value) {
25 bytes[index++] = (byte) (value & 0xFF);
26 bytes[index++] = (byte) ((value >>> 8) & 0xFF);
27 bytes[index++] = (byte) ((value >>> 16) & 0xFF);
28 bytes[index++] = (byte) ((value >>> 24) & 0xFF);
29 bytes[index++] = (byte) ((value >>> 32) & 0xFF);
30 bytes[index++] = (byte) ((value >>> 40) & 0xFF);
34 final public static void writeLE7(byte[] bytes, int index, long value) {
36 bytes[index++] = (byte) (value & 0xFF);
37 bytes[index++] = (byte) ((value >>> 8) & 0xFF);
38 bytes[index++] = (byte) ((value >>> 16) & 0xFF);
39 bytes[index++] = (byte) ((value >>> 24) & 0xFF);
40 bytes[index++] = (byte) ((value >>> 32) & 0xFF);
41 bytes[index++] = (byte) ((value >>> 40) & 0xFF);
42 bytes[index++] = (byte) ((value >>> 48) & 0xFF);
46 final public static void writeLE8(byte[] bytes, int index, long value) {
48 bytes[index++] = (byte) (value & 0xFF);
49 bytes[index++] = (byte) ((value >>> 8) & 0xFF);
50 bytes[index++] = (byte) ((value >>> 16) & 0xFF);
51 bytes[index++] = (byte) ((value >>> 24) & 0xFF);
52 bytes[index++] = (byte) ((value >>> 32) & 0xFF);
53 bytes[index++] = (byte) ((value >>> 40) & 0xFF);
54 bytes[index++] = (byte) ((value >>> 48) & 0xFF);
55 bytes[index++] = (byte) ((value >>> 56) & 0xFF);
59 final public static void writeLE(byte[] bytes, int index, int value) {
61 bytes[index++] = (byte) (value & 0xFF);
62 bytes[index++] = (byte) ((value >>> 8) & 0xFF);
63 bytes[index++] = (byte) ((value >>> 16) & 0xFF);
64 bytes[index++] = (byte) ((value >>> 24) & 0xFF);
68 final public static void writeLE(byte[] bytes, int index, short value) {
70 bytes[index++] = (byte) (value & 0xFF);
71 bytes[index++] = (byte) ((value >>> 8) & 0xFF);
75 final public static byte read(byte[] bytes, int byteIndex) {
76 return bytes[byteIndex++];
79 final public static int readLE2(byte[] bytes, int byteIndex) {
81 (((int)(bytes[byteIndex++] & 0xff)) |
82 (((int)(bytes[byteIndex++] & 0xff))<<8));
86 final public static int readLE4(byte[] bytes, int byteIndex) {
88 (((int)(bytes[byteIndex++] & 0xff)) |
89 (((int)(bytes[byteIndex++] & 0xff))<<8) |
90 (((int)(bytes[byteIndex++] & 0xff))<<16) |
91 (((int)(bytes[byteIndex++] & 0xff))<<24));
95 final public static long readLE7(byte[] bytes, int byteIndex) {
97 (((long)(bytes[byteIndex++] & 0xff)) |
98 (((long)(bytes[byteIndex++] & 0xff))<<8) |
99 (((long)(bytes[byteIndex++] & 0xff))<<16) |
100 (((long)(bytes[byteIndex++] & 0xff))<<24) |
101 (((long)(bytes[byteIndex++] & 0xff))<<32) |
102 (((long)(bytes[byteIndex++] & 0xff))<<40) |
103 (((long)(bytes[byteIndex++] & 0xff))<<48));
107 final public static long readLE8(byte[] bytes, int byteIndex) {
109 (((long)(bytes[byteIndex++] & 0xff)) |
110 (((long)(bytes[byteIndex++] & 0xff))<<8) |
111 (((long)(bytes[byteIndex++] & 0xff))<<16) |
112 (((long)(bytes[byteIndex++] & 0xff))<<24) |
113 (((long)(bytes[byteIndex++] & 0xff))<<32) |
114 (((long)(bytes[byteIndex++] & 0xff))<<40) |
115 (((long)(bytes[byteIndex++] & 0xff))<<48) |
116 (((long)(bytes[byteIndex++] & 0xff))<<56));