public class MapField<K,V> implements MutabilityOracleInternal representation of map fields in generated messages.
This class supports accessing the map field as a Map to be used in generated API and also supports accessing the field as a List to be used in reflection API. It keeps track of where the data is currently stored and do necessary conversions between map and list.
This class is a protobuf implementation detail. Users shouldn't use this class directly.
THREAD-SAFETY NOTE: Read-only access is thread-safe. Users can call getMap() and getList() concurrently in multiple threads. If write-access is needed, all access must be synchronized.
Implements
com.google.protobuf.MutabilityOracleType Parameters |
|
|---|---|
| Name | Description |
K |
|
V |
|
Static Methods
<K,V>emptyMapField(MapEntry<K,V> defaultEntry)
public static MapField<K,V> <K,V>emptyMapField(MapEntry<K,V> defaultEntry)Returns an immutable empty MapField.
| Parameter | |
|---|---|
| Name | Description |
defaultEntry |
MapEntry<K,V> |
| Returns | |
|---|---|
| Type | Description |
MapField<K,V> |
|
<K,V>newMapField(MapEntry<K,V> defaultEntry)
public static MapField<K,V> <K,V>newMapField(MapEntry<K,V> defaultEntry)Creates a new mutable empty MapField.
| Parameter | |
|---|---|
| Name | Description |
defaultEntry |
MapEntry<K,V> |
| Returns | |
|---|---|
| Type | Description |
MapField<K,V> |
|
Methods
clear()
public void clear()copy()
public MapField<K,V> copy()Returns a deep copy of this MapField.
| Returns | |
|---|---|
| Type | Description |
MapField<K,V> |
|
ensureMutable()
public void ensureMutable()Throws an UnsupportedOperationException if not mutable.
equals(Object object)
public boolean equals(Object object)| Parameter | |
|---|---|
| Name | Description |
object |
Object |
| Returns | |
|---|---|
| Type | Description |
boolean |
|
getMap()
public Map<K,V> getMap()Returns the content of this MapField as a read-only Map.
| Returns | |
|---|---|
| Type | Description |
Map<K,V> |
|
getMutableMap()
public Map<K,V> getMutableMap()Gets a mutable Map view of this MapField.
| Returns | |
|---|---|
| Type | Description |
Map<K,V> |
|
hashCode()
public int hashCode()| Returns | |
|---|---|
| Type | Description |
int |
|
isMutable()
public boolean isMutable()Returns whether this field can be modified.
| Returns | |
|---|---|
| Type | Description |
boolean |
|
makeImmutable()
public void makeImmutable()Makes this list immutable. All subsequent modifications will throw an UnsupportedOperationException.
mergeFrom(MapField<K,V> other)
public void mergeFrom(MapField<K,V> other)| Parameter | |
|---|---|
| Name | Description |
other |
MapField<K,V> |