com.google.api.client.util
Class GenericData

java.lang.Object
  extended by java.util.AbstractMap<String,Object>
      extended by com.google.api.client.util.GenericData
All Implemented Interfaces:
Cloneable, Map<String,Object>
Direct Known Subclasses:
GenericJson, GenericUrl, GenericXml, HttpHeaders, JsonHttpRequest, JsonRpcRequest

public class GenericData
extends AbstractMap<String,Object>
implements Cloneable

Generic data that stores all unknown data key name/value pairs.

Subclasses can declare fields for known data keys using the Key annotation. Each field can be of any visibility (private, package private, protected, or public) and must not be static. null unknown data key names are not allowed, but null data values are allowed.

Iteration order of the data keys is based on the sorted (ascending) key names of the declared fields, followed by the iteration order of all of the unknown data key name/value pairs.

Implementation is not thread-safe. For a thread-safe choice instead use an implementation of ConcurrentMap.

Since:
1.0
Author:
Yaniv Inbar

Nested Class Summary
static class GenericData.Flags
          Flags that impact behavior of generic data.
 
Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
 
Nested classes/interfaces inherited from interface java.util.Map
Map.Entry<K,V>
 
Constructor Summary
GenericData()
          Constructs with case-insensitive keys.
GenericData(EnumSet<GenericData.Flags> flags)
           
 
Method Summary
 GenericData clone()
          Makes a "deep" clone of the generic data, in which the clone is completely independent of the original.
 Set<Map.Entry<String,Object>> entrySet()
           
 Object get(Object name)
           
 ClassInfo getClassInfo()
          Returns the class information.
 Map<String,Object> getUnknownKeys()
          Returns the map of unknown data key name to value.
 Object put(String fieldName, Object value)
           
 void putAll(Map<? extends String,?> map)
           
 Object remove(Object name)
           
 void set(String fieldName, Object value)
          Sets the given field value (may be null) for the given field name.
 void setUnknownKeys(Map<String,Object> unknownFields)
          Sets the map of unknown data key name to value.
 
Methods inherited from class java.util.AbstractMap
clear, containsKey, containsValue, equals, hashCode, isEmpty, keySet, size, toString, values
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

GenericData

public GenericData()
Constructs with case-insensitive keys.


GenericData

public GenericData(EnumSet<GenericData.Flags> flags)
Parameters:
flags - flags that impact behavior of generic data
Since:
1.10
Method Detail

get

public final Object get(Object name)
Specified by:
get in interface Map<String,Object>
Overrides:
get in class AbstractMap<String,Object>

put

public final Object put(String fieldName,
                        Object value)
Specified by:
put in interface Map<String,Object>
Overrides:
put in class AbstractMap<String,Object>

set

public final void set(String fieldName,
                      Object value)
Sets the given field value (may be null) for the given field name. Any existing value for the field will be overwritten. It may be more slightly more efficient than put(String, Object) because it avoids accessing the field's original value.


putAll

public final void putAll(Map<? extends String,?> map)
Specified by:
putAll in interface Map<String,Object>
Overrides:
putAll in class AbstractMap<String,Object>

remove

public final Object remove(Object name)
Specified by:
remove in interface Map<String,Object>
Overrides:
remove in class AbstractMap<String,Object>

entrySet

public Set<Map.Entry<String,Object>> entrySet()
Specified by:
entrySet in interface Map<String,Object>
Specified by:
entrySet in class AbstractMap<String,Object>

clone

public GenericData clone()
Makes a "deep" clone of the generic data, in which the clone is completely independent of the original.

Overrides:
clone in class AbstractMap<String,Object>

getUnknownKeys

public final Map<String,Object> getUnknownKeys()
Returns the map of unknown data key name to value.

Since:
1.5

setUnknownKeys

public final void setUnknownKeys(Map<String,Object> unknownFields)
Sets the map of unknown data key name to value.

Since:
1.5

getClassInfo

public final ClassInfo getClassInfo()
Returns the class information.

Since:
1.10


Copyright © 2011-2012 Google. All Rights Reserved.