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() {
  var url = "";

  // Go format the mailto part of the url
  url += "$mailto;";
  url = url.substring(0, url.length - 1);

  // Go format the cc part of the url
  var delimiter = "?";
  if (cc.isNotEmpty) {
    url += "${delimiter}cc=";
    delimiter = "&";
    for (final e in cc) {
      url += "$e;";
    }
    url = url.substring(0, url.length - 1);
  }

  // Go format the bcc part of the url
  if (bcc.isNotEmpty) {
    url += "${delimiter}bcc=";
    delimiter = "&";
    for (final e in bcc) {
      url += "$e;";
    }
    url = url.substring(0, url.length - 1);
  }

  // Go format the subject part
  if (subject.trim().isNotEmpty) {
    url += "${delimiter}subject=${subject.trim()}";
    delimiter = "&";
  }

  // Go format the body part
  if (body.trim().isNotEmpty) {
    url += "${delimiter}body=${body.trim()}";
    delimiter = "&";
  }

  return url;
}