Class GenericData (1.41.8)

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.

Inheritance

Object > AbstractMap > GenericData

Implements

Cloneable

Constructors

GenericData()

public GenericData()

Constructs with case-insensitive keys.

GenericData(EnumSet<GenericData.Flags> flags)

public GenericData(EnumSet<GenericData.Flags> flags)
Parameter
NameDescription
flagsEnumSet<Flags>

flags that impact behavior of generic data

Methods

clone()

public GenericData clone()

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

Returns
TypeDescription
GenericData
Overrides

entrySet()

public Set<Map.Entry<String,Object>> entrySet()
Returns
TypeDescription
Set<Entry<String,Object>>
Overrides

equals(Object o)

public boolean equals(Object o)
Parameter
NameDescription
oObject
Returns
TypeDescription
boolean
Overrides

get(Object name)

public final Object get(Object name)
Parameter
NameDescription
nameObject
Returns
TypeDescription
Object
Overrides

getClassInfo()

public final ClassInfo getClassInfo()

Returns the class information.

Returns
TypeDescription
ClassInfo

getUnknownKeys()

public final Map<String,Object> getUnknownKeys()

Returns the map of unknown data key name to value.

Returns
TypeDescription
Map<String,Object>

hashCode()

public int hashCode()
Returns
TypeDescription
int
Overrides

put(String fieldName, Object value)

public final Object put(String fieldName, Object value)
Parameters
NameDescription
fieldNameString
valueObject
Returns
TypeDescription
Object
Overrides

putAll(Map<? extends String,?> map)

public final void putAll(Map<? extends String,?> map)
Parameter
NameDescription
mapMap<? extends java.lang.String,?>
Overrides

remove(Object name)

public final Object remove(Object name)
Parameter
NameDescription
nameObject
Returns
TypeDescription
Object
Overrides

set(String fieldName, Object value)

public GenericData 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.

Overriding is only supported for the purpose of calling the super implementation and changing the return type, but nothing else.

Parameters
NameDescription
fieldNameString
valueObject
Returns
TypeDescription
GenericData

setUnknownKeys(Map<String,Object> unknownFields)

public final void setUnknownKeys(Map<String,Object> unknownFields)

Sets the map of unknown data key name to value.

Parameter
NameDescription
unknownFieldsMap<String,Object>

toString()

public String toString()
Returns
TypeDescription
String
Overrides