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() {
/// String buffer that will contains the error messages in string
final buffer = StringBuffer();
/// to extract failure message and build String object
/// that will contain the full failure message
///
for (int felidIndex = 0; felidIndex < keys.length; felidIndex++) {
final currentFelid = keys[felidIndex];
final errorBuffer = StringBuffer();
errorBuffer.write(currentFelid);
/// extract currentFelid messages
for (int i = 0; i < _errors[currentFelid]!.length; i++) {
final currentMessage = _errors[currentFelid];
/// whether is last msg in this key or not
final isLastMsg = i == _errors.keys.length;
/// append the message
errorBuffer
.write('$currentFelid $currentMessage${isLastMsg ? '\n' : ''}');
}
/// append the message
buffer.write('$errorBuffer\n');
}
/// covert the buffer to string
return buffer.toString();
}