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

Quick Search    Search Deep

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


1   package    org.bluej.core;
2   
3   public  class  UUID {
4     byte[]  value;
5   
6     public  UUID(long uuidValue) {
7       if (uuidValue < 0 || uuidValue > 0xffffffffL)
8         throw new IllegalArgumentException("bad UUID value:" + uuidValue);
9       value = new byte[16];
10      for (int i = 0; i < 4; i++)
11        value[i] = (byte)(0xff & (uuidValue >> ((3-i)*8)));
12      for (int i = 4; i < 16; i++)
13        value[i] = UUIDUtils.baseUUID.value[i];
14    }
15    public  UUID(String uuidValue) {
16      byte[]  bytes = Utils.stringToBytes(uuidValue);
17      int    noBytes = bytes.length;
18  
19      value = new byte[16];
20      if (noBytes <= 4) {
21        for (int i = 0; i < 16; i++)
22          value[i] = UUIDUtils.baseUUID.value[i];
23        for (int i = 0; i < noBytes; i++)
24          value[3-i] = bytes[noBytes-1-i];
25      }
26      else if (noBytes <= 16) {
27        for (int i = 0; i < 16; i++)
28          value[i] = 0;
29        for (int i = 0; i < noBytes; i++)
30          value[15-i] = bytes[noBytes-1-i];
31      }
32      else {
33        throw new IllegalArgumentException("UUID value too long");
34      }
35    }
36  
37    public  String  toString() {
38      StringBuffer  buf = new StringBuffer();
39      for (int i = 0; i < 16; i++) {
40        int  val = (0x0f & (value[i] >> 4));
41        buf.append((char)(val+(val < 10 ? '0' : 'A'-10)));
42        val = (0x0f & value[i]);
43        buf.append((char)(val+(val < 10 ? '0' : 'A'-10)));
44      }
45      return buf.toString();
46    }
47  
48    public  boolean  equals(Object obj) {
49      if (obj instanceof UUID) {
50        UUID  cmp = (UUID)obj;
51        for (int i = 0; i < 16; i++)
52          if (value[i] != cmp.value[i])
53            return false;
54        return true;
55      }
56      return false;
57    }
58  }