This class is used to store and manipulate an organized array of items in a message context of header and body items, to produce encoded messages of the following syntax: [header]:[item{::item}]
There are no restrictions on the syntax of the items. If constructing a message string by hand, however, take care that all sequences of consecutive colons (::) correspond to message separators; otherwise, the message will be decoded incorrectly. Additionally, if colon-slash sequences (:/) exist in an item, they will be modified by the decoding methods. In both these cases, adding a slash after the first colon will allow correct decoding of the message items; this is precisely what is done when messages are encoded normally, to allow for arbitrary syntax of message items.
Note that the shortest valid message is a single colon (:) (message with no header and no body) and that all messages must have at least one colon.
As of version 6.1, the internal encoding of messages is handled with arrays of bytes, to prevent conversion errors when encoding byte arrays as strings. For the basic types, these arrays correspond to the byte representation of the items' string representations, not their internal numeric representation. Byte array accessors were added to manipulate these items directly as byte arrays, for serialized objects or raw byte payloads.
@author Andres Quiroz Hernandez
@version 6.19