parse static method

parsing string value into Pre-Defined Class

Implementation

static List<PredefinedDefaultValue> parse(String val) {
  final result = <PredefinedDefaultValue>[];
  final segments = <String>[];
  for (var line in LineSplitter().convert(val)) {
    int start = 0, index = -1;
    while (segments.length < 4) {
      index = line.indexOf(',', start);
      if (index == -1)
        throw Exception('Invalid pre-defined default value $line.');
      segments.add(line.substring(start, index));
      start = ++index;
    }
    result.add(PredefinedDefaultValue(
        segments[0], segments[1], segments[2], segments[4]));
    segments.clear();
  }
  return result;
}