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 (this.children != null) this.children!.clear();
  _deserializeDataSources(xml);
  _deserialize(xml);

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

  // Busy
  busy = false;
}