Package: org.codehaus.groovy.runtime.metaclass

## [Java] Class Entry

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

- All Implemented Interfaces and Traits:
    Map.Entry

      protected static class ConcurrentReaderHashMap.Entry

  ConcurrentReaderHashMap collision list entry.

- - ### Field Summary

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

  - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `boolean` | `equals(Object o)`
    `Object` | `getKey()`
    `Object` | `getValue()` Get the value.
    `int` | `hashCode()`
    `Object` | `setValue(Object value)` Set the value of this entry.
    `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 Entry next

    - #### protected Object value

  - ### Method Detail

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

    - #### public Object getKey()

    - #### 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.

    - #### public int hashCode()

    - #### 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.)

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

    - #### public String toString()