public static object ToIdObject()

in src/NMS.AMQP/Provider/Amqp/AmqpMessageIdHelper.cs [212:262]


        public static object ToIdObject(string origId)
        {
            if (origId == null) {
                return null;
            }
            
            if (!HasMessageIdPrefix(origId)) {
                // We have a string without any "ID:" prefix, it is an
                // application-specific String, use it as-is.
                return origId;
            }
            
            try
            {
                if (HasAmqpNoPrefix(origId, NMS_ID_PREFIX_LENGTH))
                {
                    // Prefix telling us there was originally no "ID:" prefix,
                    // strip it and return the remainder
                    return origId.Substring(NMS_ID_PREFIX_LENGTH + AMQP_NO_PREFIX_LENGTH);
                }
                else if (HasAmqpStringPrefix(origId, NMS_ID_PREFIX_LENGTH))
                {
                    return origId.Substring(NMS_ID_PREFIX_LENGTH + AMQP_STRING_PREFIX_LENGTH);
                }
                else if (HasAmqpBinaryPrefix(origId, NMS_ID_PREFIX_LENGTH))
                {
                    string hexString = origId.Substring(NMS_ID_PREFIX_LENGTH + AMQP_BINARY_PREFIX_LENGTH).ToUpper();
                    return ConvertHexStringToBinary(hexString, origId);
                }
                else if (HasAmqpUlongPrefix(origId, NMS_ID_PREFIX_LENGTH))
                {
                    string ulongString = origId.Substring(NMS_ID_PREFIX_LENGTH + AMQP_ULONG_PREFIX_LENGTH);
                    return Convert.ToUInt64(ulongString);
                }
                else if (HasAmqpUuidPrefix(origId, NMS_ID_PREFIX_LENGTH))
                {
                    string guidString = origId.Substring(NMS_ID_PREFIX_LENGTH + AMQP_UUID_PREFIX_LENGTH);
                    return Guid.Parse(guidString);
                }
                else
                {
                    // We have a string without any encoding prefix needing processed,
                    // so transmit it as-is, including the "ID:"
                    return origId;
                }
            }
            catch (Exception e)
            {
                throw new NMSException("Id Conversion Failure. Provided Id: " + origId, e);
            }
        }