toString method

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

String toString() {
  List<String> parts = [];

  void addPart(String key, dynamic value) {
    if (value != null) {
      String formattedValue = value is String ? "'${value.replaceAll("'", "\\'")}'" : value.toString();
      parts.add("$key: $formattedValue");
    }
  }

  addPart('name', name);
  addPart('qty', qty);
  addPart('id', id);
  addPart('price', price);
  addPart('cat1', cat1);
  addPart('cat2', cat2);
  addPart('cat3', cat3);
  addPart('category_type', categoryType);
  addPart('category_code', categoryCode);
  addPart('start_date', startDate);
  addPart('end_date', endDate);

  return "{${parts.join(', ')}}";
}