StringValueMap class

Cross-language implementation of a map (dictionary) where all keys and values are strings. The stored values can be converted to different types using variety of accessor methods.

The string map is highly versatile. It can be converted into many formats, stored and sent over the wire.

This class is widely used in Pip.Services as a basis for variety of classes, such as ConfigParams, ConnectionParams, CredentialParams and others.

Example

var value1 = StringValueMap.fromString(['key1=1;key2=123.456;key3=2018-01-01']);

value1.getAsBoolean('key1');   // Result: true
value1.getAsInteger('key2');   // Result: 123
value1.getAsFloat('key2');     // Result: 123.456
value1.getAsDateTime('key3');  // Result: new Date(2018,0,1)

See StringConverter See TypeConverter See BooleanConverter See IntegerConverter See LongConverter See DoubleConverter See FloatConverter See DateTimeConverter

Inheritance
Implementers

Constructors

StringValueMap([dynamic map])
Creates a new instance of the map and assigns its value.
StringValueMap.fromJson(Map<String, dynamic> json)
Creates a new instance of the map from json.
factory

Properties

entries Iterable<MapEntry<String, String?>>
The map entries of this.
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
isEmpty bool
Whether there is no key/value pair in the map.
no setterinherited
isNotEmpty bool
Whether there is at least one key/value pair in the map.
no setterinherited
keys Iterable<String>
The keys of this.
no setteroverride
length int
The number of key/value pairs in the map.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
values Iterable<String?>
The values of this.
no setterinherited

Methods

addAll(Map<String, String?> other) → void
Adds all key/value pairs of other to this map.
inherited
addEntries(Iterable<MapEntry<String, String?>> newEntries) → void
Adds all key/value pairs of newEntries to this map.
inherited
append(dynamic map) → void
Appends new elements to this map.
cast<RK, RV>() Map<RK, RV>
Provides a view of this map as having RK keys and RV instances, if necessary.
inherited
clear() → void
Clears this map by removing all its elements.
override
clone() → dynamic
Creates a binary clone of this object.
containsKey(Object? key) bool
Whether this map contains the given key.
inherited
containsValue(Object? value) bool
Whether this map contains the given value.
inherited
forEach(void action(String key, String? value)) → void
Applies action to each key/value pair of the map.
inherited
fromJson(Map<String, dynamic> json) → void
Returned JSON Map object from values of this object
get(String key) String?
Gets a map element specified by its key.
getAsArray(String key) AnyValueArray
Converts map element into an AnyValueArray or returns empty AnyValueArray if conversion is not possible.
getAsArrayWithDefault(String key, AnyValueArray defaultValue) AnyValueArray
Converts map element into an AnyValueArray or returns default value if conversion is not possible.
getAsBoolean(String key) bool
Converts map element into a boolean or returns false if conversion is not possible.
getAsBooleanWithDefault(String key, bool defaultValue) bool
Converts map element into a boolean or returns default value if conversion is not possible.
getAsDateTime(String key) DateTime
Converts map element into a DateTime or returns the current date if conversion is not possible.
getAsDateTimeWithDefault(String key, DateTime defaultValue) DateTime
Converts map element into a DateTime or returns default value if conversion is not possible.
getAsDouble(String key) double
Converts map element into a double or returns 0 if conversion is not possible.
getAsDoubleWithDefault(String key, double defaultValue) double
Converts map element into a double or returns default value if conversion is not possible.
getAsDuration(String key) Duration
Converts map element into a Duration or returns the current date if conversion is not possible.
getAsDurationWithDefault(String key, Duration defaultValue) Duration
Converts map element into a Duration or returns default value if conversion is not possible.
getAsFloat(String key) double
Converts map element into a float or returns 0 if conversion is not possible.
getAsFloatWithDefault(String key, double defaultValue) double
Converts map element into a flot or returns default value if conversion is not possible.
getAsInteger(String key) int
Converts map element into an integer or returns 0 if conversion is not possible.
getAsIntegerWithDefault(String key, int defaultValue) int
Converts map element into an integer or returns default value if conversion is not possible.
getAsLong(String key) int
Converts map element into a long or returns 0 if conversion is not possible.
getAsLongWithDefault(String key, int defaultValue) int
Converts map element into a long or returns default value if conversion is not possible.
getAsMap(String key) AnyValueMap
Converts map element into an AnyValueMap or returns empty AnyValueMap if conversion is not possible.
getAsMapWithDefault(String key, AnyValueMap defaultValue) AnyValueMap
Converts map element into an AnyValueMap or returns default value if conversion is not possible.
getAsNullableArray(String key) AnyValueArray?
Converts map element into an AnyValueArray or returns null if conversion is not possible.
getAsNullableBoolean(String key) bool?
Converts map element into a boolean or returns null if conversion is not possible.
getAsNullableDateTime(String key) DateTime?
Converts map element into a DateTime or returns null if conversion is not possible.
getAsNullableDouble(String key) double?
Converts map element into a double or returns null if conversion is not possible.
getAsNullableDuration(String key) Duration?
Converts map element into a Duration or returns null if conversion is not possible.
getAsNullableFloat(String key) double?
Converts map element into a float or returns null if conversion is not possible.
getAsNullableInteger(String key) int?
Converts map element into an integer or returns null if conversion is not possible.
getAsNullableLong(String key) int?
Converts map element into a long or returns null if conversion is not possible.
getAsNullableMap(String key) AnyValueMap?
Converts map element into an AnyValueMap or returns null if conversion is not possible.
getAsNullableString(String key) String?
Converts map element into a string or returns null if conversion is not possible.
getAsNullableType<T>(TypeCode type, String key) → T?
Converts map element into a value defined by specied typecode. If conversion is not possible it returns null.
getAsObject([String? key]) → dynamic
Gets the value stored in map element without any conversions. When element key is not defined it returns the entire map value.
getAsString(dynamic key) String
Converts map element into a string or returns '' if conversion is not possible.
getAsStringWithDefault(String key, String defaultValue) String
Converts map element into a string or returns default value if conversion is not possible.
getAsType<T>(TypeCode type, String key) → T?
Converts map element into a value defined by specied typecode. If conversion is not possible it returns default value for the specified type.
getAsTypeWithDefault<T>(TypeCode type, String key, T defaultValue) → T
Converts map element into a value defined by specied typecode. If conversion is not possible it returns default value.
getAsValue(String key) AnyValue
Converts map element into an AnyValue or returns an empty AnyValue if conversion is not possible.
getKeys() List<String>
Gets keys of all elements stored in this map.
getValue() Map<String, String?>
Gets an map with values.
innerValue() → dynamic
Returned inner values in Map object
map<K2, V2>(MapEntry<K2, V2> transform(String key, String? value)) Map<K2, V2>
Returns a new map where all entries of this map are transformed by the given convert function.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
put(String key, dynamic value) → void
Puts a new value into map element specified by its key.
putIfAbsent(String key, String? ifAbsent()) String?
Look up the value of key, or add a new entry if it isn't there.
inherited
remove(Object? key) String?
Removes key and its associated value, if present, from the map.
override
removeWhere(bool test(String key, String? value)) → void
Removes all entries of this map that satisfy the given test.
inherited
setAsObject(dynamic key, [dynamic value]) → void
Sets a new value to map element specified by its index. When the index is not defined, it resets the entire map value. This method has double purpose because method overrides are not supported in JavaScript.
toJson() Map<String, dynamic>
Initialize this object from JSON Map object
toString() String
Gets a string representation of the object. The result is a semicolon-separated list of key-value pairs as 'key1=value1;key2=value2;key=value3'
override
update(String key, String? update(String? value), {String? ifAbsent()?}) String?
Updates the value for the provided key.
inherited
updateAll(String? update(String key, String? value)) → void
Updates all values.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited
operator [](Object? key) String?
The value for the given key, or null if key is not in the map.
override
operator []=(String key, String? value) → void
Associates the key with the given value.
override

Static Methods

fromMaps(List? maps) StringValueMap
Creates a new AnyValueMap by merging two or more maps. Maps defined later in the list override values from previously defined maps.
fromString(String? line) StringValueMap
Parses semicolon-separated key-value pairs and returns them as a StringValueMap.
fromTuples(List tuples) StringValueMap
Creates a new StringValueMap from a list of key-value pairs called tuples.
fromTuplesArray(List? tuples) StringValueMap
Creates a new StringValueMap from a list of key-value pairs called tuples. The method is similar to fromTuples but tuples are passed as array instead of parameters.
fromValue(dynamic value) StringValueMap
Converts specified value into StringValueMap.