deserialize method

void deserialize(
  1. XmlElement xml
)

Implementation

void deserialize(XmlElement xml) {
  // Busy
  busy = true;

  // retain the xml node
  element = xml;

  // Global Properties
  datasource = Xml.attribute(node: xml, tag: 'data');
  debug = Xml.get(node: xml, tag: 'debug');
  depth = Xml.get(node: xml, tag: 'depth');
  state = Xml.get(node: xml, tag: 'state');

  // register as datasource
  if ((this is IDataSource) && (scope != null)) {
    scope!.registerDataSource(this as IDataSource);
  }

  // Deserialize Children

  if (children != null) children!.clear();
  _deserializeDataSources(xml);
  _deserialize(xml);

  // register listener
  if ((datasource != null) && (scope != null)) {
    IDataSource? source = scope!.getDataSource(datasource);
    if (source != null) source.register(this);
  }

  // Busy
  busy = false;
}