toString method

  1. @override
String toString()
override

Returns the record as a string in the ADIF format.

The returned string can be written to an ADIF file.

Implementation

@override
String toString() {
  var result = StringBuffer();

  // Append standard fields in order defined by adifFieldInfo map
  adifFieldInfo.forEach((fName, _) {
    var fVal = _values[fName];
    if (fVal != null) _appendField(result, fName, fVal);
  });

  // Append custom fields in no particular order
  _values.forEach((fName, fVal) {
    var isCustomField = !adifStandardFieldNames.contains(fName);
    if (isCustomField) _appendField(result, fName, fVal);
  });

  // Append end-of-record/header tag
  result.write(isHeader ? '<eoh>' : '<eor>');

  return result.toString();
}