public override IRuleMacro GetTreeMacro(XElement element, string name, UrlString parameters) { var item = RuleHelper.GetItemFromParameters("dependency", element, parameters); Assert.IsNotNull(item, "The parameter 'dependency' was not specified or could not be resolved"); var selectorConfig = this.MacroConfiguration.GetMacroSelectorConfig(item); IMacroSelectorForItem selector = null; if (selectorConfig != null) { selector = selectorConfig.GetTreeSelector(item); } if (selector == null) { selector = this.MacroConfiguration.DefaultTreeSelector; } if (selector == null) { return(null); } var macro = selector.GetMacro(item); return(macro); }
protected virtual void AddSelector(IMacroSelectorForItem selector, List <IMacroSelectorForItem> list) { Assert.ArgumentNotNull(selector, "selector"); Assert.ArgumentNotNull(list, "list"); if (list.Contains(selector)) { return; } list.Add(selector); }
protected virtual void AddSelector(IMacroSelectorForItem selector, List<IMacroSelectorForItem> list) { Assert.ArgumentNotNull(selector, "selector"); Assert.ArgumentNotNull(list, "list"); if (list.Contains(selector)) { return; } list.Add(selector); }
public virtual void AddValueSelector(IMacroSelectorForItem selector) { AddSelector(selector, this.ValueSelectors); }
public virtual void AddOperatorSelector(IMacroSelectorForItem selector) { AddSelector(selector, this.OperatorSelectors); }