Creates a node at path
.
If a node already exists at this path, an exception is thrown.
If init
is false, onCreated() is not called.
Source
SimpleNode createNode(String path, [bool init = true]) { Path p = new Path(path); LocalNode existing = nodes[path]; if (existing != null) { if (existing is SimpleNode) { if (existing._stub != true) { throw new Exception("Node at ${path} already exists."); } else { existing._stub = false; } } else { throw new Exception("Node at ${path} already exists."); } } SimpleNode node = existing == null ? new SimpleNode(path, this) : existing; nodes[path] = node; if (init) { node.onCreated(); } SimpleNode pnode; if (p.parentPath != "") { pnode = getNode(p.parentPath); } if (pnode != null) { pnode.children[p.name] = node; pnode.onChildAdded(p.name, node); pnode.updateList(p.name); } return node; }