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 paddedHex(int num) {
final text = num.toRadixString(16);
return text.length < 2 ? "0$text" : text;
}
final buffer = StringBuffer();
final groupLength = [4, 2, 2, 2, 6];
var group = 0, inGroupOffset = 0;
for (final octet in data) {
if (group < groupLength.length && inGroupOffset >= groupLength[group]) {
buffer.write("-");
group += 1;
inGroupOffset = 0;
}
buffer.write(paddedHex(octet));
inGroupOffset += 1;
}
return buffer.toString();
}