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 buffer = StringBuffer();
if (isNegativeDuration) {
buffer.write('-');
}
buffer.write('P');
if (years != 0) {
buffer
..write(years)
..write('Y');
}
if (months != 0) {
buffer
..write(months)
..write('M');
}
if (weeks != 0) {
buffer
..write(weeks)
..write('W');
}
if (days != 0) {
buffer
..write(days)
..write('D');
}
if (hours != 0 || minutes != 0 || seconds != 0 || buffer.length == 1) {
buffer.write('T');
buffer
..write(hours)
..write('H')
..write(minutes)
..write('M')
..write(seconds)
..write('S');
}
return buffer.toString();
}