Class SafeHashMap.Entry<K,​V>

    • Field Detail

      • m_oKey

        protected K m_oKey
        The key. This object reference will not change for the life of the Entry.
      • m_oValue

        protected volatile V m_oValue
        The value. This object reference can change within the life of the Entry. This field is declared volatile so that get() and put() can proceed without performing any synchronization.
      • m_nHash

        protected int m_nHash
        The key's hash code. This value will not change for the life of the Entry.
      • m_eNext

        protected volatile SafeHashMap.Entry<K,​V> m_eNext
        The next entry in the linked list (an open hashing implementation). This field is declared volatile so the entry iterator can safely operate without performing any synchronization.
    • Constructor Detail

      • Entry

        protected Entry()
    • Method Detail

      • getKey

        public K getKey()
        Returns the key corresponding to this entry.
        Specified by:
        getKey in interface Map.Entry<K,​V>
        Returns:
        the key corresponding to this entry.
      • getValue

        public V getValue()
        Returns the value corresponding to this entry. If the mapping has been removed from the backing map (by the iterator's remove operation), the results of this call are undefined.
        Specified by:
        getValue in interface Map.Entry<K,​V>
        Returns:
        the value corresponding to this entry.
      • setValue

        public V setValue​(V value)
        Replaces the value corresponding to this entry with the specified value (optional operation). (Writes through to the map.) The behavior of this call is undefined if the mapping has already been removed from the map (by the iterator's remove operation).
        Specified by:
        setValue in interface Map.Entry<K,​V>
        Parameters:
        value - new value to be stored in this entry
        Returns:
        old value corresponding to the entry
      • equals

        public boolean equals​(Object o)
        Compares the specified object with this entry for equality. Returns true if the given object is also a map entry and the two entries represent the same mapping. More formally, two entries e1 and e2 represent the same mapping if
             (e1.getKey()==null ?
              e2.getKey()==null : e1.getKey().equals(e2.getKey()))  &&
             (e1.getValue()==null ?
              e2.getValue()==null : e1.getValue().equals(e2.getValue()))
         
        This ensures that the equals method works properly across different implementations of the Map.Entry interface.
        Specified by:
        equals in interface Map.Entry<K,​V>
        Overrides:
        equals in class Object
        Parameters:
        o - object to be compared for equality with this map entry
        Returns:
        true if the specified object is equal to this map entry
      • hashCode

        public int hashCode()
        Returns the hash code value for this map entry. The hash code of a map entry e is defined to be:
             (e.getKey()==null   ? 0 : e.getKey().hashCode()) ^
             (e.getValue()==null ? 0 : e.getValue().hashCode())
         
        This ensures that e1.equals(e2) implies that e1.hashCode()==e2.hashCode() for any two Entries e1 and e2, as required by the general contract of Object.hashCode.
        Specified by:
        hashCode in interface Map.Entry<K,​V>
        Overrides:
        hashCode in class Object
        Returns:
        the hash code value for this map entry.
      • toString

        public String toString()
        Render the map entry as a String.
        Overrides:
        toString in class Object
        Returns:
        the details about this entry
      • clone

        public Object clone()
        Clone the Entry. This will not work for non-static inner children being cloned for purposes of cloning a containing Map; instead use copyFrom.
        Overrides:
        clone in class Object
        Returns:
        a Clone of this entry
      • copyFrom

        protected void copyFrom​(SafeHashMap.Entry<K,​V> entry)
        Copy this Entry's information from another Entry. Sub-classes must implement this method if they add any additional fields.
        Parameters:
        entry - the entry to copy from
      • onAdd

        protected void onAdd()
        This method is invoked when the containing Map has actually added this Entry to itself.