deserialize method
Deserializes the FML template elements, attributes and children
Implementation
@override
void deserialize(XmlElement xml) {
// deserialize
super.deserialize(xml);
// properties
refresh = Xml.get(node: xml, tag: 'refresh');
method = Xml.attribute(node: xml, tag: 'method');
timeout = Xml.get(node: xml, tag: 'timeout');
url = Xml.get(node: xml, tag: 'url') ?? Xml.get(node: xml, tag: 'URL');
canRunInForeground = toBool(Xml.get(node: xml, tag: 'foreground')) ?? true;
canRunInBackground = toBool(Xml.get(node: xml, tag: 'background')) ?? false;
// build headers
var headers = Xml.getChildElements(node: xml, tag: 'HEADER');
if (headers != null) {
for (var node in headers) {
// set headers
if (this.headers == null) this.headers = <String, String>{};
String? key = Xml.get(node: node, tag: 'key');
String? value = Xml.get(node: node, tag: 'value');
if (!isNullOrEmpty(key) && !isNullOrEmpty(value)) {
this.headers![key!] = value!;
}
}
}
}