toXml method

String toXml({
  1. List<String>? tableNames,
  2. Map<String, List<String>>? tableIncludeColumns,
  3. Map<String, List<String>>? tableExcludeColumns,
})

Implementation

String toXml({
  List<String>? tableNames,
  Map<String, List<String>>? tableIncludeColumns,
  Map<String, List<String>>? tableExcludeColumns,
}) {
  final StringBuffer xml = StringBuffer();

  if (tableNames != null && tableNames.isNotEmpty) {
    for (var tableName in tableNames) {
      final table = this[tableName];
      if (table == null) continue;

      List<String>? includeColumns = tableIncludeColumns?[tableName];
      List<String>? excludeColumns = tableExcludeColumns?[tableName];

      xml.write(
        table.toXml(
          includeColumns: includeColumns,
          excludeColumns: excludeColumns,
        ),
      );
    }
  } else {
    for (var entry in tables.entries) {
      final tableName = entry.key;
      final table = entry.value;

      List<String>? includeColumns = tableIncludeColumns?[tableName];
      List<String>? excludeColumns = tableExcludeColumns?[tableName];

      xml.write(
        table.toXml(
          includeColumns: includeColumns,
          excludeColumns: excludeColumns,
        ),
      );
    }
  }

  return xml.toString();
}