public
class
MapField<K
,
V
>
implements
MutabilityOracle
Internal 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
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.
<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.
Methods
clear()
public
void
clear
()
copy()
public
MapField<K
,
V
>
copy
()
Returns a deep copy of this MapField.
ensureMutable()
public
void
ensureMutable
()
Throws an UnsupportedOperationException if not mutable.
equals(Object object)
public
boolean
equals
(
Object
object
)
getMap()
public
Map<K
,
V
>
getMap
()
Returns the content of this MapField as a read-only Map.
getMutableMap()
public
Map<K
,
V
>
getMutableMap
()
Gets a mutable Map view of this MapField.
hashCode()
public
int
hashCode
()
isMutable()
public
boolean
isMutable
()
Returns whether this field can be modified.
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
)

