Parses a record containing one or more fields. Fields are separated
by some FIELD_DELIMITER character, e.g. a comma or a ^A character.
Records are terminated by a RECORD_DELIMITER character, e.g., a newline.
Fields may be (optionally or mandatorily) enclosed by a quoting char
Fields may contain escaped characters. An escape character may be, e.g.,
the '\\' character. Any character following an escape character
is treated literally. e.g., '\n' is recorded as an 'n' character, not a
Unexpected results may occur if the enclosing character escapes itself.
e.g., this cannot parse SQL SELECT statements where the single character
['] escapes to [''].
This class is not synchronized. Multiple threads must use separate
instances of RecordParser.
The fields parsed by RecordParser are backed by an internal buffer
which is cleared when the next call to parseRecord() is made. If
the buffer is required to be preserved, you must copy it yourself.