org.codehaus.groovy.util
Class AbstractConcurrentDoubleKeyMap<K1,K2,V>

java.lang.Object
  extended by org.codehaus.groovy.util.AbstractConcurrentMapBase
      extended by org.codehaus.groovy.util.AbstractConcurrentDoubleKeyMap<K1,K2,V>
Direct Known Subclasses:
ManagedDoubleKeyMap

public abstract class AbstractConcurrentDoubleKeyMap<K1,K2,V>
extends AbstractConcurrentMapBase


Nested Class Summary
(package private) static interface AbstractConcurrentDoubleKeyMap.Entry<K1,K2,V>
           
(package private) static class AbstractConcurrentDoubleKeyMap.Segment<K1,K2,V>
           
 
Field Summary
 
Fields inherited from class org.codehaus.groovy.util.AbstractConcurrentMapBase
MAX_SEGMENTS, MAXIMUM_CAPACITY, RETRIES_BEFORE_LOCK, segmentMask, segments, segmentShift
 
Constructor Summary
AbstractConcurrentDoubleKeyMap(java.lang.Object segmentInfo)
           
 
Method Summary
 V get(K1 key1, K2 key2)
           
 AbstractConcurrentDoubleKeyMap.Entry<K1,K2,V> getOrPut(K1 key1, K2 key2, V value)
           
(package private) static
<K1,K2> int
hash(K1 key1, K2 key2)
           
 void put(K1 key1, K2 key2, V value)
           
 void remove(K1 key1, K2 key2)
           
 AbstractConcurrentDoubleKeyMap.Segment<K1,K2,V> segmentFor(int hash)
           
 
Methods inherited from class org.codehaus.groovy.util.AbstractConcurrentMapBase
createSegment, fullSize, hash, size
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractConcurrentDoubleKeyMap

public AbstractConcurrentDoubleKeyMap(java.lang.Object segmentInfo)
Method Detail

hash

static <K1,K2> int hash(K1 key1,
                        K2 key2)

get

public V get(K1 key1,
             K2 key2)

getOrPut

public AbstractConcurrentDoubleKeyMap.Entry<K1,K2,V> getOrPut(K1 key1,
                                                              K2 key2,
                                                              V value)

put

public void put(K1 key1,
                K2 key2,
                V value)

remove

public void remove(K1 key1,
                   K2 key2)

segmentFor

public final AbstractConcurrentDoubleKeyMap.Segment<K1,K2,V> segmentFor(int hash)
Overrides:
segmentFor in class AbstractConcurrentMapBase


Copyright © ${year} The Codehaus. All Rights Reserved.