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 listenerCount =
_notifier.isDisposed ? 'null' : _notifier.countListeners();
final hasErrorHandler = errorHandler != null;
final hasCriticalErrorHandler = criticalErrorHandler != null;
final hasLogger = logger != null;
final loggerType = logger == _defaultLogger ? 'default' : 'custom';
return '$runtimeType#$hashCode('
'listeners: $listenerCount, '
'defaultValue: ${_notifier.defaultValue}, '
'errorHandler: ${hasErrorHandler ? 'set' : 'null'}, '
'criticalErrorHandler: ${hasCriticalErrorHandler ? 'set' : 'null'}, '
'logger: ${hasLogger ? loggerType : 'null'})';
}