View Javadoc

1   /**
2    * 
3    */
4   package org.sourceforge.jemm.util.managed.bucket;
5   
6   import org.sourceforge.jemm.util.managed.ECMAction;
7   
8   /**
9    * An EnhancedConcurrentMap bucket.
10   *
11   * @param <K> The map key type. 
12   * @param <V> The map value type.
13   * @author Rory Graves
14   */
15  public interface ECMapBucket<K,V> {
16  
17      void perform(K key,ECMAction<K, V> action);
18  
19      /**
20       * @return The number of entries currently stored within the bucket.
21       */
22      int size();
23  
24      void clear();
25  
26      boolean containsKey(K key);
27  
28      boolean contains(V value);
29      
30      V putIfAbsent(K key, V value);
31  
32      boolean remove(K key, V value);
33  
34      V replace(K key, V value);
35  
36      boolean replace(K key, V oldValue, V newValue);
37  
38      V get(K key);
39  
40      V put(K key, V value);
41  
42      V remove(K key);
43  }