View Javadoc

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  }