예제 #1
0
 public static UUID convert16to32(UUID uuid) throws Exception {
   byte b[] = uuid.toByteArray();
   if (b.length != 2) throw new Exception("Not a 16-bits UUID!");
   UUID retour = new UUID();
   retour.uuidBytes = new byte[] {0, 0, 0, 0};
   for (int i = 2; i < 4; i++) retour.uuidBytes[i] += b[i - 2];
   retour.uuidLong = uuid.uuidLong;
   retour.uuidString = null;
   return retour;
 }
예제 #2
0
 public static UUID convert32to128(UUID uuid) {
   byte[] b = uuid.toByteArray();
   UUID retour = new UUID(b);
   if (b.length == 16) return retour;
   retour.uuidBytes = new byte[16];
   System.arraycopy(getBaseUUIDAsBytes(), 0, retour.uuidBytes, 0, 16);
   retour.uuidString = "";
   retour.uuidLong = 0;
   int decal = b.length == 2 ? 2 : 0;
   for (int i = 0; i < b.length; i++) {
     retour.uuidBytes[i + decal] += b[i];
   }
   return retour;
 }