Package org.codehaus.groovy.util

# Class ManagedConcurrentValueMap<K,V>

java.lang.Object
org.codehaus.groovy.util.ManagedConcurrentValueMap<K,V>

Type Parameters:
  `K` - the key type
  `V` - the value type

public class ManagedConcurrentValueMap<K,V> extends Object
This is a basic implementation of a map able to forget its values. This map uses internally a ConcurrentHashMap, thus should be safe for concurrency. hashcode and equals are used to find the entries and should thus be implemented properly for the keys. This map does not support null keys.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ManagedConcurrentValueMap(ReferenceBundle bundle)`
  Creates an empty map that stores values using the supplied reference bundle.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `V`
  `get(K key)`
  Returns the value stored for the given key at the point of call.
  `void`
  `put(K key, V value)`
  Sets a new value for a given key.
  `void`
  `setBundle(ReferenceBundle bundle)`
  Sets a new bundle used for reference creation.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### ManagedConcurrentValueMap

    public ManagedConcurrentValueMap(ReferenceBundle bundle)
    Creates an empty map that stores values using the supplied reference bundle.
    Parameters:
      `bundle` - the reference strategy for subsequently stored values

- ## Method Details

  - ### setBundle

    public void setBundle(ReferenceBundle bundle)
    Sets a new bundle used for reference creation. Be warned that older entries will not be changed by this
    Parameters:
      `bundle` - - the ReferenceBundle

  - ### get

    public V get(K key)
    Returns the value stored for the given key at the point of call.
    Parameters:
      `key` - a non null key
    Returns:
      the value stored in the map for the given key

  - ### put

    public void put(K key, V value)
    Sets a new value for a given key. an older value is overwritten.
    Parameters:
      `key` - a non null key
      `value` - the new value