load method

  1. @override
void load(
  1. Map m
)
override

Load this node from the provided map as m.

Implementation

@override
void load(Map m) {
  if (_loaded) {
    configs.clear();
    attributes.clear();
    children.clear();
  }
  String childPathPre;
  if (path == '/') {
    childPathPre = '/';
  } else {
    childPathPre = '$path/';
  }

  m.forEach((key, dynamic value) {
    if (key.startsWith('?')) {
      if (key == '?value') {
        updateValue(value);
      }
    } else if (key.startsWith(r'$')) {
      if (_encryptEngine != null &&
          key.startsWith(r'$$') &&
          value is String) {
        configs[key] = decryptString(value);
      } else {
        configs[key] = value;
      }
    } else if (key.startsWith('@')) {
      attributes[key] = value;
    } else if (value is Map) {
      var childPath = '$childPathPre$key';
      provider.addNode(childPath, value);
    }
  });
  _loaded = true;
}