Class MapField<K,​V>


  • public class MapField<K,​V>
    extends java.lang.Object
    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.

    • Field Detail

      • IMMUTABLE

        public static final com.google.protobuf.MutabilityOracle IMMUTABLE
    • Method Detail

      • emptyMapField

        public static <K,​V> MapField<K,​V> emptyMapField​(MapEntry<K,​V> defaultEntry)
        Returns an immutable empty MapField.
      • newMapField

        public static <K,​V> MapField<K,​V> newMapField​(MapEntry<K,​V> defaultEntry)
        Creates a new mutable empty MapField.
      • getMap

        public java.util.Map<K,​V> getMap()
        Returns the content of this MapField as a read-only Map.
      • getMutableMap

        public java.util.Map<K,​V> getMutableMap()
        Gets a mutable Map view of this MapField.
      • mergeFrom

        public void mergeFrom​(MapField<K,​V> other)
      • clear

        public void clear()
      • equals

        public boolean equals​(java.lang.Object object)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • copy

        public MapField<K,​V> copy()
        Returns a deep copy of this MapField.
      • makeImmutable

        public void makeImmutable()
        Makes this list immutable. All subsequent modifications will throw an UnsupportedOperationException.
      • isMutable

        public boolean isMutable()
        Returns whether this field can be modified.
      • ensureMutable

        public void ensureMutable()