deserialize method
void
deserialize(
- XmlElement xml
)
override
Implementation
@override
void deserialize(XmlElement xml) {
// extract body
// deserialize
super.deserialize(xml);
rowcount = 0;
// properties
queuetype = Xml.get(node: xml, tag: 'queuetype');
timetolive = Xml.get(node: xml, tag: 'ttl');
timetoidle = toInt(Xml.get(node: xml, tag: 'tti'));
autoexecute = Xml.get(node: xml, tag: 'autoexecute');
autoquery = Xml.get(node: xml, tag: 'autoquery');
onsuccess = Xml.get(node: xml, tag: 'onsuccess');
onreadsuccess = Xml.get(node: xml, tag: 'onreadsuccess');
onwritesuccess = Xml.get(node: xml, tag: 'onwritesuccess');
onfail = Xml.get(node: xml, tag: 'onfail');
statuscode = Xml.get(node: xml, tag: 'statuscode');
statusmessage = Xml.get(node: xml, tag: 'statusmessage');
maxrecords = Xml.get(node: xml, tag: 'maxrecords');
root = Xml.attribute(node: xml, tag: 'root');
value = Xml.get(node: xml, tag: 'value');
template = Xml.get(node: xml, tag: 'template');
enabled = Xml.get(node: xml, tag: 'enabled');
// set the body
body = _getBody(xml);
if (body != null) {
// set body as custom
_bodyIsCustom = true;
// set the data
data = Data.from(body, root: root);
}
// ensure future bodies that contain bindables don't bind
if (_body == null) body = "";
// register the datasource with the scope manager
if (scope != null) scope!.registerDataSource(this);
// disable in background
enabledInBackground =
toBool(Xml.get(node: xml, tag: 'background')) ?? enabledInBackground;
if (!enabledInBackground) {
framework?.indexObservable?.registerListener(onIndexChange);
}
}