public BinaryAsciiString append()

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;
    }