Package org.apache.groovy.json.internal

# Class ValueMapImpl

java.lang.Object
java.util.AbstractMap<String,Value>
org.apache.groovy.json.internal.ValueMapImpl

All Implemented Interfaces:
  `Map<String,Value>`, `ValueMap<String,Value>`

public class ValueMapImpl extends AbstractMap<String,Value> implements ValueMap<String,Value>
This map is for object serialization mainly. The idea is the final conversion of the Value objects are delayed until the last possible moment, i.e., just before injected into a bean.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class java.util.AbstractMap

  `AbstractMap.SimpleEntry<K extends Object,V extends Object>, AbstractMap.SimpleImmutableEntry<K extends Object,V extends Object>`

  ## Nested classes/interfaces inherited from interface java.util.Map

  `Map.Entry<K extends Object,V extends Object>`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ValueMapImpl()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `add(MapItemValue miv)`
  Add a MapItemValue to the map.
  `Set<Map.Entry<String,Value>>`
  `entrySet()`
  If the map has not been built yet, then we just return a fake entry set.
  `Value`
  `get(Object key)`
  Get the items for the key.
  `boolean`
  `hydrated()`
  Has the map been hydrated.
  `Map.Entry<String,Value>[]`
  `items()`
  Give me the items in the map without hydrating the map.
  `int`
  `len()`
  Return size w/o hydrating the map.
  `Value`
  `put(String key, Value value)`
  Unsupported because entries are appended during parsing rather than replaced by key.
  `int`
  `size()`
  Return the size of the map.
  `Collection<Value>`
  `values()`
  Return a collection of values.

  ### Methods inherited from class java.util.AbstractMap

  `clear, clone, containsKey, containsValue, equals, hashCode, isEmpty, keySet, putAll, remove, toString`

  ### Methods inherited from class java.lang.Object

  `finalize, getClass, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface java.util.Map

  `clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, equals, forEach, getOrDefault, hashCode, isEmpty, keySet, merge, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll`

- ## Constructor Details

  - ### ValueMapImpl

    public ValueMapImpl()

- ## Method Details

  - ### add

    public void add(MapItemValue miv)
    Add a MapItemValue to the map.
    Specified by:
      `add` in interface `ValueMap<String,Value>`
    Parameters:
      `miv` - map value item.

  - ### len

    public int len()
    Return size w/o hydrating the map.
    Specified by:
      `len` in interface `ValueMap<String,Value>`

  - ### hydrated

    public boolean hydrated()
    Has the map been hydrated.
    Specified by:
      `hydrated` in interface `ValueMap<String,Value>`

  - ### items

    public Map.Entry<String,Value>[] items()
    Give me the items in the map without hydrating the map. Realize that the array is likely larger than the length so array items can be null.
    Specified by:
      `items` in interface `ValueMap<String,Value>`

  - ### get

    public Value get(Object key)
    Get the items for the key.
    Specified by:
      `get` in interface `Map<String,Value>`
    Overrides:
      `get` in class `AbstractMap<String,Value>`
    Parameters:
      `key` -
    Returns:
      the items for the given key

  - ### put

    public Value put(String key, Value value)
    Unsupported because entries are appended during parsing rather than replaced by key.
    Specified by:
      `put` in interface `Map<String,Value>`
    Overrides:
      `put` in class `AbstractMap<String,Value>`
    Parameters:
      `key` - ignored
      `value` - ignored
    Returns:
      never returns normally

  - ### entrySet

    public Set<Map.Entry<String,Value>> entrySet()
    If the map has not been built yet, then we just return a fake entry set.
    Specified by:
      `entrySet` in interface `Map<String,Value>`
    Specified by:
      `entrySet` in class `AbstractMap<String,Value>`

  - ### values

    public Collection<Value> values()
    Return a collection of values.
    Specified by:
      `values` in interface `Map<String,Value>`
    Overrides:
      `values` in class `AbstractMap<String,Value>`

  - ### size

    public int size()
    Return the size of the map. Use the map if it has already been created.
    Specified by:
      `size` in interface `Map<String,Value>`
    Overrides:
      `size` in class `AbstractMap<String,Value>`
    Returns:
      size