/// <summary> /// Adds a parser. /// </summary> /// <param name="id">The identifier.</param> /// <param name="helpSetupCallback">The help setup callback.</param> /// <returns>ParserBuilder.</returns> public ParserBuilder AddParser(string id, Action <ParserHelpBuilder> helpSetupCallback = null) { var parser = ParserRepository.Create(id); HierarchyRepository.AddParser(id); parser = OnParserCreated(parser); if (helpSetupCallback == null) { var newBuilder = new ParserBuilder(this, parser); newBuilder.ParameterCreated += (sender, args) => { OnParameterCreated(args); }; return(newBuilder); } var builder = new ParserHelpBuilder(parser); helpSetupCallback(builder); parser.Help = builder.Build(); var parserBuilder = new ParserBuilder(this, parser); parserBuilder.ParameterCreated += (sender, args) => { OnParameterCreated(args); }; return(parserBuilder); }
/// <summary> /// Creates a parent child relationship. /// </summary> /// <param name="parent">The parent.</param> /// <param name="child">The child.</param> /// <returns>ContextBuilder.</returns> public ContextBuilder CreateParentChildRelationship(string parent, string child) { HierarchyRepository.EstablishParentChildRelationship(parent, child); return(this); }