public BaseNode CreateNodeFromElement(XElement element, BaseNode parent, IEnumerable <ClassNode> classes, ILogger logger, CreateNodeFromElementHandler defaultHandler) { Contract.Requires(element != null); Contract.Requires(CanHandleElement(element)); Contract.Requires(parent != null); Contract.Requires(classes != null); Contract.Requires(Contract.ForAll(classes, c => c != null)); Contract.Requires(logger != null); Contract.Requires(defaultHandler != null); throw new NotImplementedException(); }
public BaseNode CreateNodeFromElement(XElement element, BaseNode parent, IEnumerable <ClassNode> classes, ILogger logger, CreateNodeFromElementHandler createNodeFromElement) { if (!stringToTypeMap.TryGetValue(element.Attribute(ReClassNetFile.XmlTypeAttribute)?.Value ?? string.Empty, out var nodeType)) { logger.Log(LogLevel.Error, $"Skipping node with unknown type: {element.Attribute(ReClassNetFile.XmlTypeAttribute)?.Value}"); logger.Log(LogLevel.Warning, element.ToString()); return(null); } return(BaseNode.CreateInstanceFromType(nodeType, false)); }
/// <summary>Creates a node from the xml element. This method gets only called if <see cref="CanHandleElement(XElement)"/> returned true.</summary> /// <param name="element">The element to create the node from.</param> /// <param name="parent">The parent of the node.</param> /// <param name="classes">The list of classes which correspond to the node.</param> /// <param name="logger">The logger used to output messages.</param> /// <returns>True if a node was created, otherwise false.</returns> public BaseNode CreateNodeFromElement(XElement element, BaseNode parent, IEnumerable <ClassNode> classes, ILogger logger, CreateNodeFromElementHandler defaultHandler) { return(new WeakPtrNode()); }