private ConfigItem <string[]> getValues(string nodeName, bool hasParent) { var item = new ConfigItem <string[]>(new string[] {}); var values = new List <string>(); var nodes = _xml.SelectNodes(nodeName); if (nodes.Count == 0) { return(item); } foreach (XmlNode node in nodes) { values.Add(node.InnerText); } item.SetValue(values.ToArray()); var mainNode = nodeName; if (hasParent) { mainNode = getParentNode(nodeName); } if (shouldMerge(mainNode)) { item.SetShouldMerge(); } if (shouldExcludeFromConfig(mainNode)) { item.Exclude(); } return(item); }
private ConfigItem <string> getValueItem(string nodeName, string defaultValue) { var item = new ConfigItem <string>(defaultValue); var str = getValue(nodeName, null); if (str == null) { return(item); } item.SetValue(str); if (shouldExcludeFromConfig(nodeName)) { item.Exclude(); } return(item); }
private ConfigItem <int> getIntItem(string path, int defaultValue) { var item = new ConfigItem <int>(defaultValue); var val = getInt(path, null); if (val == null) { return(item); } item.SetValue((int)val); if (shouldExcludeFromConfig(path)) { item.Exclude(); } return(item); }
private ConfigItem <bool> getBoolItem(string path, bool defaultValue) { var item = new ConfigItem <bool>(defaultValue); var val = getBool(path, null); if (val == null) { return(item); } item.SetValue((bool)val); if (shouldExcludeFromConfig(path)) { item.Exclude(); } return(item); }
private ConfigItem <long> getLongItem(string path, long defaultValue) { var item = new ConfigItem <long>(defaultValue); var val = getLong(path, null); if (val == null) { return(item); } item.SetValue((long)val); if (shouldExcludeFromConfig(path)) { item.Exclude(); } return(item); }
private ConfigItem <CodeEditor> getCodeEditor() { var item = new ConfigItem <CodeEditor>(new CodeEditor("", "")); var executable = getValue("configuration/CodeEditor/Executable", null); if (executable == null) { return(item); } var arguments = getValue("configuration/CodeEditor/Arguments", ""); if (shouldExcludeFromConfig("configuration/CodeEditor")) { item.Exclude(); } return(item.SetValue(new CodeEditor(executable, arguments))); }
private ConfigItem <KeyValuePair <string, string>[]> getVersionedSetting(string xpath) { var item = new ConfigItem <KeyValuePair <string, string>[]>(new KeyValuePair <string, string>[] {}); var nodes = _xml.SelectNodes(xpath); if (nodes.Count == 0) { return(item); } item.SetValue(readVersionedNodes(nodes)); if (shouldMerge(xpath)) { item.SetShouldMerge(); } if (shouldExcludeFromConfig(xpath)) { item.Exclude(); } return(item); }