public final class ArrayValueMap extends Object
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. Use put(Field, Class, Object)
when setting
the value of a field using reflection, assuming its type accepts an array of objects. One can
potentially use both put
methods for example on an instance of GenericData
.
Implementation is not thread-safe. For a thread-safe choice instead use an implementation of
ConcurrentMap
.
Constructor and Description |
---|
ArrayValueMap(Object destination) |
Modifier and Type | Method and 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.
|
public ArrayValueMap(Object destination)
destination
- destination object whose fields must be set, or destination map whose values
must be setpublic void setValues()
public void put(Field field, Class<?> arrayComponentType, Object value)
field
- fieldarrayComponentType
- array component typevalue
- valueCopyright © 2011–2019 Google. All rights reserved.