in java/src/main/java/com/epam/deltix/containers/BinaryAsciiString.java [398:442]
public BinaryAsciiString append(UUIDReadOnly uuid, UUIDPrintFormat format) {
hashCode = hashCode | 0x40000000;
resize(((count + 33) >>> 3) + 1);
final char[] hexDigits = (format == UUIDPrintFormat.LOWERCASE || format == UUIDPrintFormat.LOWERCASE_WITHOUT_DASHES)
? HEX_DIGITS_LOWER : HEX_DIGITS_UPPER;
switch (format) {
case LOWERCASE:
case UPPERCASE:
final long m = uuid.getMSB();
final long l = uuid.getLSB();
for (int i = 15; i > 7; i -= 1, count++)
UnsafeHelper.setByteAtLongArray(data, count, (byte)hexDigits[(int) (m >> (i * 4)) & 0xF]);
UnsafeHelper.setByteAtLongArray(data, count, (byte)'-');
count++;
for (int i = 7; i > 3; i -= 1, count++)
UnsafeHelper.setByteAtLongArray(data, count, (byte)hexDigits[(int) (m >> (i * 4)) & 0xF]);
UnsafeHelper.setByteAtLongArray(data, count, (byte)'-');
count++;
for (int i = 3; i >= 0; i -= 1, count++)
UnsafeHelper.setByteAtLongArray(data, count, (byte)hexDigits[(int) (m >> (i * 4)) & 0xF]);
UnsafeHelper.setByteAtLongArray(data, count, (byte)'-');
count++;
for (int i = 15; i > 11; i -= 1, count++)
UnsafeHelper.setByteAtLongArray(data, count, (byte)hexDigits[(int) (l >> (i * 4)) & 0xF]);
UnsafeHelper.setByteAtLongArray(data, count, (byte)'-');
count++;
for (int i = 11; i >= 0; i -= 1, count++)
UnsafeHelper.setByteAtLongArray(data, count, (byte)hexDigits[(int) (l >> (i * 4)) & 0xF]);
break;
case LOWERCASE_WITHOUT_DASHES:
case UPPERCASE_WITHOUT_DASHES:
final long m1 = uuid.getMSB();
final long l1 = uuid.getLSB();
for (int i = 15; i >= 0; i -= 1, count++)
UnsafeHelper.setByteAtLongArray(data, count, (byte)hexDigits[(int) (m1 >> (i * 4)) & 0xF]);
for (int i = 15; i >= 0; i -= 1, count++)
UnsafeHelper.setByteAtLongArray(data, count, (byte)hexDigits[(int) (l1 >> (i * 4)) & 0xF]);
break;
}
return this;
}