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
`protected` `AbstractConcurrentMap.Segment(int initialCapacity)`

### Method Summary

Methods
`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

#### AbstractConcurrentMap.Segment

    protected AbstractConcurrentMap.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)