toString method

  1. @override
String toString()
override

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 s = StringBuffer();
  for (final name in directories.keys) {
    s.write('$name\n');
    final directory = directories[name]!;
    for (final tag in directory.keys) {
      final value = directory[tag];
      if (value == null) {
        s.write('\t${getTagName(tag)}\n');
      } else {
        s.write('\t${getTagName(tag)}: $value\n');
      }
    }
    for (final subName in directory.sub.keys) {
      s.write('$subName\n');
      final subDirectory = directory.sub[subName];
      for (final tag in subDirectory.keys) {
        final value = subDirectory[tag];
        if (value == null) {
          s.write('\t${getTagName(tag)}\n');
        } else {
          s.write('\t${getTagName(tag)}: $value\n');
        }
      }
    }
  }
  return s.toString();
}