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:
    java.io.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

      `java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject`

  - ### Field Summary

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

      `table`

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and 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)