Package org.codehaus.groovy.util

## Class AbstractConcurrentMap.Segment<K,​V>

- java.lang.Object
- - java.util.concurrent.locks.AbstractOwnableSynchronizer
  - - java.util.concurrent.locks.AbstractQueuedSynchronizer
    - - org.codehaus.groovy.util.LockableObject
      - - org.codehaus.groovy.util.AbstractConcurrentMapBase.Segment
        - - org.codehaus.groovy.util.AbstractConcurrentMap.Segment<K,​V>

- All Implemented Interfaces:
    `Serializable`
  Direct Known Subclasses:
    `ManagedConcurrentMap.Segment`
  Enclosing class:
    AbstractConcurrentMap<K,​V>

      public abstract static class AbstractConcurrentMap.Segment<K,​V>
      extends AbstractConcurrentMapBase.Segment

  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class java.util.concurrent.locks.AbstractQueuedSynchronizer

      `AbstractQueuedSynchronizer.ConditionObject`

  - ### Field Summary

    - ### Fields inherited from class org.codehaus.groovy.util.AbstractConcurrentMapBase.Segment

      `table`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `Segment​(int initialCapacity)` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected abstract AbstractConcurrentMap.Entry<K,​V>` | `createEntry​(K key, int hash, V value)` |
    `V` | `get​(K key, int hash)` |
    `AbstractConcurrentMap.Entry<K,​V>` | `getOrPut​(K key, int hash, V value)` |
    `AbstractConcurrentMap.Entry` | `put​(K key, int hash, V value)` |
    `void` | `remove​(K key, int hash)` |

    - ### Methods inherited from class org.codehaus.groovy.util.LockableObject

      `isHeldExclusively, lock, tryAcquire, tryRelease, unlock`

    - ### Methods inherited from class java.util.concurrent.locks.AbstractQueuedSynchronizer

      `acquire, acquireInterruptibly, acquireShared, acquireSharedInterruptibly, compareAndSetState, getExclusiveQueuedThreads, getFirstQueuedThread, getQueuedThreads, getQueueLength, getSharedQueuedThreads, getState, getWaitingThreads, getWaitQueueLength, hasContended, hasQueuedPredecessors, hasQueuedThreads, hasWaiters, isQueued, owns, release, releaseShared, setState, toString, tryAcquireNanos, tryAcquireShared, tryAcquireSharedNanos, tryReleaseShared`

    - ### Methods inherited from class java.util.concurrent.locks.AbstractOwnableSynchronizer

      `getExclusiveOwnerThread, setExclusiveOwnerThread`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### Segment

          protected Segment​(int initialCapacity)

  - ### Method Detail

    - #### get

          public final V get​(K key,
                             int hash)

    - #### getOrPut

          public final AbstractConcurrentMap.Entry<K,​V> getOrPut​(K key,
                                                                       int hash,
                                                                       V value)

    - #### put

          public final AbstractConcurrentMap.Entry put​(K key,
                                                       int hash,
                                                       V value)

    - #### remove

          public void remove​(K key,
                             int hash)

    - #### createEntry

          protected abstract AbstractConcurrentMap.Entry<K,​V> createEntry​(K key,
                                                                                int hash,
                                                                                V value)