Package com.google.api.client.util
Class ArrayValueMap
- java.lang.Object
-
- com.google.api.client.util.ArrayValueMap
-
public final class ArrayValueMap extends Object
Collects the array values of a key/value data object, writing the fields or map values only after all values have been collected.The typical application for this is when parsing JSON or XML when the value type is known to be an array. It stores the values in a collection during the parsing, and only when the parsing of an object is finished does it convert the collection into an array and stores it.
Use
put(String, Class, Object)
when the destination object is a map with string keys and whose values accept an array of objects. Useput(Field, Class, Object)
when setting the value of a field using reflection, assuming its type accepts an array of objects. One can potentially use bothput
methods for example on an instance ofGenericData
.Implementation is not thread-safe. For a thread-safe choice instead use an implementation of
ConcurrentMap
.- Since:
- 1.4
- Author:
- Yaniv Inbar
-
-
Constructor Summary
Constructors Constructor Description ArrayValueMap(Object destination)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
put(Field field, Class<?> arrayComponentType, Object value)
Puts an additional value for the given field, accumulating values on repeated calls on the same field.void
put(String keyName, Class<?> arrayComponentType, Object value)
Puts an additional value for the given key name, accumulating values on repeated calls on the same key name.void
setValues()
Sets the fields of the given object using the values collected during parsing of the object's fields.
-
-
-
Constructor Detail
-
ArrayValueMap
public ArrayValueMap(Object destination)
- Parameters:
destination
- destination object whose fields must be set, or destination map whose values must be set
-
-
Method Detail
-
setValues
public void setValues()
Sets the fields of the given object using the values collected during parsing of the object's fields.
-
put
public void put(Field field, Class<?> arrayComponentType, Object value)
Puts an additional value for the given field, accumulating values on repeated calls on the same field.- Parameters:
field
- fieldarrayComponentType
- array component typevalue
- value
-
-