1 package org.paneris.bibliomania.fti;
2
3 import java.io.IOException;
4 import java.io.OutputStream;
5
6 public class ThreePacker extends Packer {
7 public static final ThreePacker it = new ThreePacker();
8
9 public ThreePacker() {
10 super(3, 0xFFFFFF);
11 }
12
13 public static int number_(byte[] bytes, int off) {
14 return uint(bytes[off + 0]) << 16 | uint(bytes[off + 1]) << 8 |
15 uint(bytes[off + 2]);
16 }
17
18 public int number(byte[] bytes, int off) {
19 return number_(bytes, off);
20 }
21
22 public Packer bigger() {
23 return FourPacker.it;
24 }
25
26 public static void write_(OutputStream os, int number) throws IOException {
27 os.write(number >> 16);
28 os.write(number >> 8);
29 os.write(number );
30 }
31
32 public void write(OutputStream os, int number) throws IOException {
33 write_(os, number);
34 }
35
36 public static void set_(byte[] bytes, int offset, int number) {
37 bytes[offset ] = (byte)(number >> 16);
38 bytes[offset + 1] = (byte)(number >> 8);
39 bytes[offset + 2] = (byte) number ;
40 }
41
42 public void set(byte[] bytes, int offset, int number) {
43 set_(bytes, offset, number);
44 }
45 }