Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/bluej/core/UUIDUtils.java


1   package    org.bluej.core;
2   
3   public  class  UUIDUtils extends UUID {
4     public  static  final  UUID baseUUID =
5         new UUID("0000000000001000800000805F9B34FB");
6   
7     public  UUIDUtils(byte[] data) {
8       super(0);
9       if (data.length == 2) {
10        value[2] = data[0];
11        value[3] = data[1];
12      }
13      else if (data.length == 4) {
14        for (int i = 0; i < 4; i++)
15          value[i] = data[i];
16      }
17      else if (data.length == 16) {
18        for (int i = 0; i < 16; i++)
19          value[i] = data[i];
20      }
21      else {
22        throw new IllegalArgumentException(
23            "UUID data len is " + data.length);
24      }
25    }
26    public  UUIDUtils(UUID base) {
27      super(0);
28      for (int i = 0; i < 16; i++)
29        value[i] = base.value[i];
30    }
31  
32    public  byte[]  getBytes() {
33      byte[]  ret;
34      boolean  isSmall = true;
35      for (int i = 4; isSmall && i < 16; i++)
36        if (value[i] != baseUUID.value[i])
37          isSmall = false;
38      if (isSmall) {
39        boolean  isTiny = true;
40        for (int i = 0; i < 2; i++) {
41          if (value[i] != 0)
42            isTiny = false;
43        }
44        if (isTiny) {
45          ret = new byte[2];
46          ret[0] = value[2];
47          ret[1] = value[3];
48        }
49        else {
50          ret = new byte[4];
51          for (int i = 0; i < 4; i++)
52            ret[i] = value[i];
53        }
54      }
55      else {
56        ret = new byte[16];
57        for (int i = 0; i < 16; i++)
58          ret[i] = value[i];
59      }
60      return ret;
61    }
62  }