Class CopyOnUpdateMap<K,V>

java.lang.Object
com.gigaspaces.internal.utils.collections.CopyOnUpdateMap<K,V>
All Implemented Interfaces:
ConcurrentMap<K,V>, Map<K,V>

public class CopyOnUpdateMap<K,V> extends Object implements ConcurrentMap<K,V>
Provides a ConcurrentMap implementation. This implementation is based on CopyOnUpdate for each destructive operation.
Since:
7.0
Author:
Guy Korland
  • Constructor Details

    • CopyOnUpdateMap

      public CopyOnUpdateMap()
    • CopyOnUpdateMap

      public CopyOnUpdateMap(MapFactory<K,V> factory)
  • Method Details

    • getUnsafeMapReference

      public Map<K,V> getUnsafeMapReference()
      Returns a reference to the underlying volatile map. This is intended for rare scenarios when the underlying map type provides additional functionality. This reference should be handled with care - do not modify it!!! This would violate the copy-on-update pattern and create concurrency issues.
    • clear

      public void clear()
      Specified by:
      clear in interface Map<K,V>
    • containsKey

      public boolean containsKey(Object key)
      Specified by:
      containsKey in interface Map<K,V>
    • containsValue

      public boolean containsValue(Object value)
      Specified by:
      containsValue in interface Map<K,V>
    • entrySet

      public Set<Map.Entry<K,V>> entrySet()
      Specified by:
      entrySet in interface Map<K,V>
    • get

      public V get(Object key)
      Specified by:
      get in interface Map<K,V>
    • isEmpty

      public boolean isEmpty()
      Specified by:
      isEmpty in interface Map<K,V>
    • keySet

      public Set<K> keySet()
      Specified by:
      keySet in interface Map<K,V>
    • put

      public V put(K key, V value)
      Specified by:
      put in interface Map<K,V>
    • putAll

      public void putAll(Map<? extends K,? extends V> t)
      Specified by:
      putAll in interface Map<K,V>
    • remove

      public V remove(Object key)
      Specified by:
      remove in interface Map<K,V>
    • size

      public int size()
      Specified by:
      size in interface Map<K,V>
    • values

      public Collection<V> values()
      Specified by:
      values in interface Map<K,V>
    • putIfAbsent

      public V putIfAbsent(K key, V value)
      Specified by:
      putIfAbsent in interface ConcurrentMap<K,V>
      Specified by:
      putIfAbsent in interface Map<K,V>
    • remove

      public boolean remove(Object key, Object value)
      Specified by:
      remove in interface ConcurrentMap<K,V>
      Specified by:
      remove in interface Map<K,V>
    • replace

      public V replace(K key, V value)
      Specified by:
      replace in interface ConcurrentMap<K,V>
      Specified by:
      replace in interface Map<K,V>
    • replace

      public boolean replace(K key, V oldValue, V newValue)
      Specified by:
      replace in interface ConcurrentMap<K,V>
      Specified by:
      replace in interface Map<K,V>
    • toString

      public String toString()
      Overrides:
      toString in class Object