Package: org.codehaus.groovy.runtime.metaclass

## [Java] Class ConcurrentReaderHashMap.Entry

- org.codehaus.groovy.runtime.metaclass.ConcurrentReaderHashMap.Entry

- All Implemented Interfaces and Traits:
    MapEntry

      protected static class ConcurrentReaderHashMap.Entry

  ConcurrentReaderHashMap collision list entry.

- - ### Field Summary

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `protected int` | `hash` |
    `protected Object` | `key` |
    `protected Map.Entry` | `next` |
    `protected Object` | `value` |

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `public boolean` | `equals(Object o)`
    `` | `public Object` | `getKey()`
    `` | `public Object` | `getValue()` Get the value.
    `` | `public int` | `hashCode()`
    `` | `public Object` | `setValue(Object value)` Set the value of this entry.
    `` | `public String` | `toString()`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Object` | `wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll`

- - ### Field Detail

    - #### protected final int hash

    - #### protected final Object key

    - #### protected final Map.Entry next

    - #### protected Object value

  - ### Method Detail

    - #### @Override public boolean equals(Object o)

    - #### @Override public Object getKey()

    - #### @Override public Object getValue()

      Get the value. Note: In an entrySet or entrySet.iterator, unless the set or iterator is used under synchronization of the table as a whole (or you can otherwise guarantee lack of concurrent modification), `getValue` might return null, reflecting the fact that the entry has been concurrently removed. However, there are no assurances that concurrent removals will be reflected using this method.

      Returns:
        the current value, or null if the entry has been detectably removed.

    - #### @Override public int hashCode()

    - #### @Override public Object setValue(Object value)

      Set the value of this entry. Note: In an entrySet or entrySet.iterator), unless the set or iterator is used under synchronization of the table as a whole (or you can otherwise guarantee lack of concurrent modification), `setValue` is not strictly guaranteed to actually replace the value field obtained via the `get` operation of the underlying hash table in multi-threaded applications. If iterator-wide synchronization is not used, and any other concurrent `put` or `remove` operations occur, sometimes even to other entries, then this change is not guaranteed to be reflected in the hash table. (It might, or it might not. There are no assurances either way.)

      Parameters:
        `value` - the new value.
      Returns:
        the previous value, or null if entry has been detectably removed.
      Throws:
        NullPointerException if the value is `null`.

    - #### @Override public String toString()