public void ParseFromConfig(JObject json, string configName) { Ensure.NotNullOrEmpty(configName, "configName"); if (_jsonPath == null) { return; } Origin = OptionOrigin.Config; OriginName = configName; OriginOptionName = string.Join(".", _jsonPath); var value = OptionContainerHelpers.GetTokenByJsonPath(json, _jsonPath); if (value == null) { return; } if (value.Type != JTokenType.Boolean) { throw new OptionException( string.Format("Property '{0}' (value: {1}) in JSON config at '{2}' is not boolean value.", OriginOptionName, value, configName), OriginOptionName); } Value = value.Value <bool>(); }
public void ParseFromEnvironment() { if (_envVariable.IsEmptyString()) { return; } var varValue = Environment.GetEnvironmentVariable(_envVariable); if (varValue == null) { return; } Origin = OptionOrigin.Environment; OriginName = OptionOrigin.Environment.ToString(); OriginOptionName = _envVariable; try { Value = OptionContainerHelpers.ConvertFromString <T>(varValue); _isSet = true; } catch (Exception exc) { throw new OptionException( string.Format("Could not convert environment variable {0} (value: '{1}') to type {2}.", _envVariable, varValue, typeof(T).Name), _envVariable, exc); } }
public void ParseFromConfig(JObject json, string configName) { Ensure.NotNullOrEmpty(configName, "configName"); if (_jsonPath == null) { return; } Origin = OptionOrigin.Config; OriginName = configName; OriginOptionName = string.Join(".", _jsonPath); var token = OptionContainerHelpers.GetTokenByJsonPath(json, _jsonPath); if (token == null) { return; } if (token.Type != JTokenType.Array) { throw new OptionException( string.Format("Property '{0}' (value: {1}) in JSON config at '{2}' is not array.", OriginOptionName, token, configName), OriginOptionName); } var values = new List <T>(); foreach (var item in (JArray)token) { try { var value = OptionContainerHelpers.ConvertFromJToken <T>(item); values.Add(value); } catch (Exception exc) { throw new OptionException( string.Format("Could not convert part of JSON array {0} at '{1}' to type {2}. JToken: {3}.", OriginOptionName, configName, typeof(T).Name, token), OriginOptionName, exc); } } Value = values.ToArray(); }
public void ParseFromEnvironment() { if (_envVariable.IsEmptyString()) { return; } var varValue = Environment.GetEnvironmentVariable(_envVariable); if (varValue == null) { return; } Origin = OptionOrigin.Environment; OriginName = OptionOrigin.Environment.ToString(); OriginOptionName = _envVariable; var parts = varValue.Split(new[] { _separator }, StringSplitOptions.None); var values = new List <T>(); foreach (var part in parts) { try { var value = OptionContainerHelpers.ConvertFromString <T>(part); values.Add(value); } catch (Exception exc) { throw new OptionException( string.Format("Could not convert part of environment variable {0} (part: '{1}', value: '{2}') to type {3}.", _envVariable, part, varValue, typeof(T).Name), _envVariable, exc); } } Value = values.ToArray(); }
public void ParseFromConfig(JObject json, string configName) { Ensure.NotNullOrEmpty(configName, "configName"); if (_jsonPath == null) { return; } Origin = OptionOrigin.Config; OriginName = configName; OriginOptionName = string.Join(".", _jsonPath); var token = OptionContainerHelpers.GetTokenByJsonPath(json, _jsonPath); if (token == null) { return; } try { Value = OptionContainerHelpers.ConvertFromJToken <T>(token); _isSet = true; } catch (Exception exc) { throw new OptionException( string.Format("Could not convert JToken {0} at '{1}' to type {2}. JToken: {3}.", OriginOptionName, configName, typeof(T).Name, token), OriginOptionName, exc); } }