/// <summary> /// Creates a new TokenizedPagingParams and sets it parameters from the specified map /// </summary> /// <param name="map">a StringValueMap to initialize this TokenizedPagingParams</param> /// <returns>a newly created PagingParams.</returns> public static TokenizedPagingParams FromMap(StringValueMap map) { var token = map.GetAsNullableString("token"); var take = map.GetAsNullableInteger("take").Value; var total = map.GetAsBooleanWithDefault("total", false); return(new TokenizedPagingParams(token, take, total)); }
/// <summary> /// Creates a new StringValueMap by merging two or more maps. Maps defined later in /// the list override values from previously defined maps. /// </summary> /// <param name="maps">an array of maps to be merged</param> /// <returns>a newly created StringValueMap.</returns> public static StringValueMap FromMaps(params IDictionary <string, string>[] maps) { var result = new StringValueMap(); if (maps != null && maps.Length > 0) { foreach (var map in maps) { result.Append(map); } } return(result); }
/// <summary> /// Creates a new StringValueMap from a list of key-value pairs called tuples. /// The method is similar to <see cref="FromTuples"/> but tuples are passed as array instead of parameters. /// </summary> /// <param name="tuples">a list of values where odd elements are keys and the following even elements are values</param> /// <returns>a newly created StringValueMap.</returns> public static StringValueMap FromTuplesArray(params object[] tuples) { var result = new StringValueMap(); if (tuples == null || tuples.Length == 0) { return(result); } for (int index = 0; index < tuples.Length; index += 2) { if (index + 1 >= tuples.Length) { break; } var name = StringConverter.ToString(tuples[index]); var value = StringConverter.ToNullableString(tuples[index + 1]); result[name] = value; } return(result); }
/// <summary> /// arses semicolon-separated key-value pairs and returns them as a StringValueMap. /// </summary> /// <param name="line">semicolon-separated key-value list to initialize StringValueMap.</param> /// <returns>a newly created StringValueMap.</returns> public static StringValueMap FromString(string line) { var result = new StringValueMap(); if (string.IsNullOrWhiteSpace(line)) { return(result); } var tokens = line.Split(';'); foreach (var token in tokens) { if (token.Length == 0) { continue; } var index = token.IndexOf("="); var key = index > 0 ? token.Substring(0, index).Trim() : token.Trim(); var value = index > 0 ? token.Substring(index + 1).Trim() : null; result[key] = value; } return(result); }
/// <summary> /// Creates a new StringValueMap from a list of key-value pairs called tuples. /// </summary> /// <param name="tuples">a list of values where odd elements are keys and the following /// even elements are values</param> /// <returns>a newly created StringValueArray.</returns> public static StringValueMap FromTuples(params object[] tuples) { var result = new StringValueMap(); if (tuples == null || tuples.Length == 0) { return(result); } for (var i = 0; i < tuples.Length; i += 2) { if (i + 1 >= tuples.Length) { break; } var name = StringConverter.ToString(tuples[i]); var value = StringConverter.ToString(tuples[i + 1]); result[name] = value; } return(result); }
/// <summary> /// Parses semicolon-separated key-value pairs and returns them as a FilterParams. /// </summary> /// <param name="line">semicolon-separated key-value list to initialize FilterParams.</param> /// <returns>a newly created FilterParams.</returns> public new static FilterParams FromString(string line) { var map = StringValueMap.FromString(line); return(new FilterParams(map)); }
/// <summary> /// Creates a new FilterParams from a list of key-value pairs called tuples. /// </summary> /// <param name="values">a list of values where odd elements are keys and the following /// even elements are values</param> /// <returns>a newly created FilterParams.</returns> public new static FilterParams FromTuples(params object[] values) { var map = StringValueMap.FromTuples(values); return(new FilterParams(map)); }