deserialize method
Deserializes the FML template elements, attributes and children
Implementation
@override
void deserialize(XmlElement xml) {
// deserialize
super.deserialize(xml);
// properties
url = Xml.get(node: xml, tag: 'url');
onconnected = Xml.get(node: xml, tag: 'onconnected');
ondisconnected = Xml.get(node: xml, tag: 'ondisconnected');
onsubscribed = Xml.get(node: xml, tag: 'onsubscribed');
onunsubscribed = Xml.get(node: xml, tag: 'onunsubscribed');
onpublished = Xml.get(node: xml, tag: 'onpublished');
onerror = Xml.get(node: xml, tag: 'onerror');
onmessage = Xml.get(node: xml, tag: 'onmessage');
username = Xml.get(node: xml, tag: 'username');
password = Xml.get(node: xml, tag: 'password');
// subscriptions
var subscriptions = Xml.get(node: xml, tag: 'subscriptions')?.split(",");
subscriptions?.forEach((subscription) {
if (!isNullOrEmpty(subscription) &&
!this.subscriptions.contains(subscription.trim())) {
this.subscriptions.add(subscription.trim());
}
});
}