Description
The StringValueMap class allows you to create a cross-language implementation of a map (dictionary) where all keys and values are strings.
Important points
- The class provides several methods to convert the stored values to different types, such as array, boolean or datetime.
- This class is widely used in Pip.Services as a basis for variety of classes, such as ConfigParams, ConnectionParams, CredentialParams (in the Pip.Services components package) and others.
Constructors
Creates a new instance of the map and assigns its value.
publicStringValueMap(Map map)
- map: Map - (optional) values to initialize this map.
Instance methods
append
Appends new elements to this map.
publicvoid append(Map map)
- map: Map - map with elements to be added.
clone
Creates a binary clone of this object.
publicStringValueMap clone()
- returns: StringValueMap - clone of this object.
get
Gets a map element specified by its key.
publicString get(String key)
- key: String - key of the element to get.
- returns: String - value of the map element.
getAsArray
Converts a map’s element into an AnyValueArray object or returns an empty AnyValueArray object if the conversion is not possible.
See AnyValueArray, AnyValueArray.fromValue
publicAnyValueArray getAsArray(String key)
- key: String -key of element to get.
- returns: AnyValueArray - AnyValueArray value of the element or empty AnyValueArray if the conversion is not supported.
getAsArrayWithDefault
Converts a map’s element into an AnyValueArray object or returns a given default value if the conversion is not possible.
See AnyValueArray
publicAnyValueArray getAsArrayWithDefault(String key, AnyValueArray defaultValue)
- key: String - key of the element to get.
- defaultValue: AnyValueArray - default value
- returns: AnyValueArray - AnyValueArray value of the element or given default value if the conversion is not supported.
getAsBoolean
Converts a map’s element into a boolean or returns false if the conversion is not possible.
publicboolean getAsBoolean(String key)
- key: String - key of the element to get.
- returns: boolean - boolean value of the element or false if the conversion is not supported.
getAsBooleanWithDefault
Converts a map’s element into a boolean or returns a given default value if the conversion is not possible.
See BooleanConverter.toBooleanWithDefault
publicboolean getAsBooleanWithDefault(String key, boolean defaultValue)
- key: String - key of element to get.
- defaultValue: boolean - default value
- returns: boolean - boolean value of the element or given default value if the conversion is not supported.
getAsDateTime
Converts a map’s element into a Date or returns the current date if the conversion is not possible.
See BooleanConverter.toBooleanWithDefault
publicZonedDateTime getAsDateTime(String key)
- key: String - key of element to get.
- returns: ZonedDateTime - ZonedDateTime value of the element or the current date if the conversion is not supported.
getAsDateTimeWithDefault
Converts a map’s element into a Date or returns a given default value if the conversion is not possible.
See DateTimeConverter.toDateTimeWithDefault
publicZonedDateTime getAsDateTimeWithDefault(String key, ZonedDateTime defaultValue)
- key: String - key of the element to get.
- defaultValue: ZonedDateTime - default value
- returns: ZonedDateTime - ZonedDateTime value of the element or given default value if the conversion is not supported.
getAsDouble
Converts a map’s element into a double or returns 0 if the conversion is not possible.
publicdouble getAsDouble(String key
- key: String - key of the element to get.
- returns: double - double value of the element or 0 if the conversion is not supported.
getAsDoubleWithDefault
Converts a map’s element into a double or returns a given default value if the conversion is not possible.
See DoubleConverter.to_double_with_default
publicdouble getAsDoubleWithDefault(String key, double defaultValue)
- key: String - key of the element to get.
- defaultValue: double - default value
- returns: double - double value of the element or given default value if the conversion is not supported.
getAsFloat
Converts a map’s element into a float or returns 0 if the conversion is not possible.
publicfloat getAsFloat(String key)
- key: String - key the of element to get.
- returns: float - float value of the element or 0 if the conversion is not supported.
getAsFloatWithDefault
Converts a map’s element into a float or returns a given default value if the conversion is not possible.
See FloatConverter.toFloatWithDefault
publicfloat getAsFloatWithDefault(String key, float defaultValue)
- key: String - key of the element to get.
- defaultValue: float - default value
- returns: float - float value of the element or given default value if the conversion is not supported.
getAsInteger
Converts a map’s element into an integer or returns 0 if the conversion is not possible.
publicint getAsInteger(String key)
- key: String - key of the element to get.
- returns: int - integer value of the element or 0 if the conversion is not supported.
getAsIntegerWithDefault
Converts a map’s element into an integer or returns a given default value if the conversion is not possible.
See IntegerConverter.toIntegerWithDefault
publicint getAsIntegerWithDefault(String key, int defaultValue)
- key: String - key of the element to get.
- defaultValue: int - default value
- returns: int - integer value of the element or given default value if the conversion is not supported.
getAsLong
Converts a map’s element into a long or returns 0 if the conversion is not possible.
publiclong getAsLong(String key)
- key: String - key of the element to get.
- returns: long - long value of the element or 0 if the conversion is not supported.
getAsLongWithDefault
Converts a map’s element into a long or returns a given default value if the conversion is not possible.
See LongConverter.toLongWithDefault
publiclong getAsLongWithDefault(String key, long defaultValue)
- key: String - key of the element to get.
- defaultValue: long - default value
- returns: long - long value of the element or default value if the conversion is not supported.
getAsMap
Converts a map’s element into an AnyValueMap object or returns an empty AnyValueMap object if the conversion is not possible.
publicAnyValueMap getAsMap(String key)
- key: String - key of the element to get.
- returns: AnyValueMap - long value of the element or 0 if the conversion is not supported.
getAsMapWithDefault
Converts a map’s element into an AnyValueMap object or returns a given default value if the conversion is not possible.
publicAnyValueMap getAsMapWithDefault(String key, AnyValueMap defaultValue)
- key: String - key of the element to get.
- defaultValue: AnyValueMap - default value
- returns: AnyValueMap - AnyValueMap value of the element or given default value if the conversion is not supported.
getAsNullableArray
Converts a map’s element into an AnyValueArray or returns null if the conversion is not possible.
See AnyValueMap, AnyValueMap.fromValue
publicAnyValueMap getAsNullableArray(String key)
- key: String - key of the element to get.
- returns: AnyValueMap - AnyValueMap value of the element or given default value if the conversion is not supported.
getAsNullableBoolean
Converts a map’s element into a boolean or returns null if the conversion is not possible.
See BooleanConverter.toNullableBoolean
publicBoolean getAsNullableBoolean(String key)
- key: String - key of the element to get.
- returns: Boolean - boolean value of the element or null if the conversion is not supported.
getAsNullableDateTime
Converts a map’s element into a Date or returns null if the conversion is not possible.
See DateTimeConverter.toNullableDateTime
publicZonedDateTime getAsNullableDateTime(String key)
- key: String - key of the element to get.
- returns: ZonedDateTime - ZonedDateTime value of the element or null if the conversion is not supported.
getAsNullableDouble
Converts a map’s element into a double or returns null if the conversion is not possible.
See DoubleConverter.toNullableDouble
publicDouble getAsNullableDouble(String key)
- key: String - key of the element to get.
- returns: Double - double value of the element or null if the conversion is not supported.
getAsNullableFloat
Converts a map’s element into a float or returns null if the conversion is not possible.
See FloatConverter.toNullableFloat
publicFloat getAsNullableFloat(String key)
- key: String - key of the element to get.
- returns: Float - float value of the element or null if the conversion is not supported.
getAsNullableInteger
Converts a map’s element into an integer or returns null if the conversion is not possible.
See IntegerConverter.toNullableInteger
publicInteger getAsNullableInteger(String key)
- key: String - key of the element to get.
- returns: Integer - integer value of the element or null if the conversion is not supported.
getAsNullableLong
Converts a map’s element into a long or returns null if the conversion is not possible.
See LongConverter.toNullableLong
publicLong getAsNullableLong(String key)
- key: String - key of the element to get.
- returns: Long - long value of the element or null if the conversion is not supported.
getAsNullableMap
Converts a map’s element into an AnyValueMap object or returns null if the conversion is not possible.
publicAnyValueMap getAsNullableMap(String key)
- key: String - key of the element to get.
- returns: AnyValueMap - AnyValueMap value of the element or null if the conversion is not supported.
getAsNullableString
Converts a map’s element into a string or returns null if the conversion is not possible.
See StringConverter.toNullableString
publicString getAsNullableString(String key)
- key: String - key of the element to get.
- returns: String - string value of the element or null if the conversion is not supported.
getAsNullableType
Converts a map’s element into a value defined by a specified typecode.
If conversion is not possible, it returns null.
See TypeConverter.toNullableType
publicT getAsNullableType(Class type, String key)
- type: Class
- TypeCode that defines the type of the result. - key: String - key of the element to get.
- returns:
T - element value defined by the typecode or null if the conversion is not supported.
getAsObject
Gets the value stored in map element without any conversions. When the element’s key is not defined, it returns the entire map value.
publicObject getAsObject(String key)
- key: String - (optional) key of the element to get.
- returns: Object - element value or value of the map when the index is not defined.
getAsString
Converts map’s element into a string or returns "" if the conversion is not possible.
publicString getAsString(String key)
- key: String - (optional) key of the element to get.
- returns: String - string value of the element or "" if the conversion is not supported.
getAsStringWithDefault
Converts map’s element into a string or returns "" if the conversion is not possible.
publicString getAsStringWithDefault(String key, String defaultValue)
- key: String - key of the element to get.
- defaultValue: String - default value
- returns: string - string value of the element or default value if the conversion is not supported.
getAsType
Converts a map’s element into a value defined by a specified typecode. If conversion is not possible it returns the default value for the specified type.
publicT getAsType(Class type, String key)
- type: Class
- TypeCode that defines the type of the result. - key: String - key of the element to get.
- returns:
T - element value defined by the typecode or default if the conversion is not supported.
getAsTypeWithDefault
Converts a map’s element into a value defined by a specified typecode.
If the conversion is not possible, it returns the default value for the specified type.
See TypeConverter.toTypeWithDefault
publicT getAsTypeWithDefault(Class type, String key, T defaultValue)
- type: Class
- type that defines the type of the result - key: String - key of the element to get.
- defaultValue: T - default value
- returns:
T - element’s value defined by the typecode or default value if the conversion is not supported.
getAsValue
Converts a map’s element into an AnyValue or returns an empty AnyValue if the conversion is not possible.
See AnyValue, AnyValue.constructors
publicAnyValue getAsValue(String key)
- key: string - key of the element to get.
- returns: AnyValue - AnyValue value of the element or an empty AnyValue object if the conversion is not supported.
getKeys
Gets keys of all elements stored in this map.
publicListgetKeys()
- returns: List
- list with all map keys.
length
Gets the number of elements stored in this map.
publicint length()
- returns: int - number of elements in this map.
put
Puts a new value into a map’s element specified by its key.
publicvoid put(String key, Object value)
- key: String - key of the element to put.
- value: Object - new value for the map’s element.
setAsObject
Sets a new value to a map’s 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.
See MapConverter.toMap
publicvoid setAsObject(Object value)
- key: Object - (optional) key of the element to set
- value: Object - new element or map value.
toString
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”
publicString toString()
- returns: String - string representation of the object.
Static methods
fromMaps
Creates a new AnyValueMap by merging two or more maps. Maps defined later in the list override values from previously defined maps.
public staticStringValueMap fromMaps(Map… maps)
- maps: Map… - array of maps to be merged
- returns: StringValueMap - newly created StringValueMap.
fromString
Parses semicolon-separated key-value pairs and returns them as a StringValueMap.
public staticStringValueMap fromString(String line)
- line: String - semicolon-separated key-value list to initialize StringValueMap.
- returns: StringValueMap - newly created StringValueMap.
fromTuples
Creates a new StringValueMap object from a list of key-value pairs called tuples.
public staticStringValueMap fromTuples(Object… tuples)
- tuples: Object… - list of values where odd elements are keys and the following even elements are values.
- returns: StringValueMap - newly created StringValueMap.
fromTuplesArray
Creates a new StringValueMap object from a list of key-value pairs called tuples. The method is similar to fromTuples but tuples are passed as array instead of parameters.
public staticStringValueMap fromTuplesArray(Object[] tuples)
- tuples: Object[] - list of values where odd elements are keys and the following even elements are values.
- returns: StringValueMap - newly created StringValueMap.
Examples
{
StringValueMap 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 also
-
StringConverter
-
TypeConverter
-
StringConverter
-
BooleanConverter
-
IntegerConverter
-
LongConverter
-
DoubleConverter
-
FloatConverter
-
DateTimeConverter
-
ICloneable