parse method

void parse(
  1. XmlElement rootElement
)

Implementation

void parse(XmlElement rootElement) {
  for (var element in rootElement.attributes) {
    String name = element.name.toString();
    String value = element.value;

    if (Renderinstruction.K == name) {
      textKey = TextKey(value);
    } else if (Renderinstruction.DISPLAY == name) {
      display = MapDisplay.values.firstWhere((e) => e.toString().toLowerCase().contains(value));
    } else if (Renderinstruction.PRIORITY == name) {
      priority = int.parse(value);
    } else if (Renderinstruction.DY == name) {
      setDy(double.parse(value));
    } else if (Renderinstruction.SCALE == name) {
      setScaleFromValue(value);
    } else if (Renderinstruction.FILL == name) {
      setFillColorFromNumber(XmlUtils.getColor(value));
    } else if (Renderinstruction.FONT_FAMILY == name) {
      setFontFamily(MapFontFamily.values.firstWhere((v) => v.toString().toLowerCase().contains(value)));
    } else if (Renderinstruction.FONT_SIZE == name) {
      setFontSize(XmlUtils.parseNonNegativeFloat(name, value));
    } else if (Renderinstruction.FONT_STYLE == name) {
      setFontStyle(MapFontStyle.values.firstWhere((v) => v.toString().toLowerCase().contains(value)));
    } else if (Renderinstruction.REPEAT == name) {
      repeat = value == "true";
    } else if (Renderinstruction.REPEAT_GAP == name) {
      setRepeatGap(double.parse(value));
    } else if (Renderinstruction.REPEAT_START == name) {
      setRepeatStart(double.parse(value));
    } else if (Renderinstruction.ROTATE == name) {
      rotate = value == "true";
    } else if (Renderinstruction.STROKE == name) {
      setStrokeColorFromNumber(XmlUtils.getColor(value));
    } else if (Renderinstruction.STROKE_WIDTH == name) {
      setStrokeWidth(XmlUtils.parseNonNegativeFloat(name, value));
    } else {
      throw Exception("Parsing problems $name=$value");
    }
  }

  XmlUtils.checkMandatoryAttribute(rootElement.name.toString(), Renderinstruction.K, textKey);
}