toString method
A string representation of this object.
Some classes have a default textual representation,
often paired with a static parse function (like int.parse).
These classes will provide the textual representation as
their string representation.
Other classes have no meaningful textual representation
that a program will care about.
Such classes will typically override toString to provide
useful information when inspecting the object,
mainly for debugging or logging.
Implementation
@override
String toString() {
final sanitized = super.toString();
// RFC2445 Section 4.1.1 requires parameter values
// containing a COLON (:), SEMICOLON (;), or COMMA (,)
// to be surrounded by double quotes
return sanitized.contains(":") ||
sanitized.contains(";") ||
sanitized.contains(",")
? "\"$sanitized\""
: sanitized;
}