Class WeakConcurrentMap.WithInlinedExpunction<K,​V>

  • All Implemented Interfaces:
    Iterable<Map.Entry<K,​V>>, Runnable
    Enclosing class:
    WeakConcurrentMap<K,​V>

    public static class WeakConcurrentMap.WithInlinedExpunction<K,​V>
    extends WeakConcurrentMap<K,​V>
    A WeakConcurrentMap where stale entries are removed as a side effect of interacting with this map.

    This class is internal and is hence not for public use. Its APIs are unstable and can change at any time.

    • Constructor Detail

      • WithInlinedExpunction

        public WithInlinedExpunction()
    • Method Detail

      • get

        public V get​(K key)
        Parameters:
        key - The key of the entry.
        Returns:
        The value of the entry or the default value if it did not exist.
      • getIfPresent

        public V getIfPresent​(K key)
        Parameters:
        key - The key of the entry.
        Returns:
        The value of the entry or null if it did not exist.
      • containsKey

        public boolean containsKey​(K key)
        Parameters:
        key - The key of the entry.
        Returns:
        true if the key already defines a value.
      • put

        public V put​(K key,
                     V value)
        Parameters:
        key - The key of the entry.
        value - The value of the entry.
        Returns:
        The previous entry or null if it does not exist.
      • putIfAbsent

        public V putIfAbsent​(K key,
                             V value)
        Parameters:
        key - The key of the entry.
        value - The value of the entry.
        Returns:
        The previous entry or null if it does not exist.
      • remove

        public V remove​(K key)
        Parameters:
        key - The key of the entry.
        Returns:
        The removed entry or null if it does not exist.
      • approximateSize

        public int approximateSize()
        Returns the approximate size of this map where the returned number is at least as big as the actual number of entries.
        Returns:
        The minimum size of this map.
      • computeIfAbsent

        public V computeIfAbsent​(K key,
                                 Function<? super K,​? extends V> mappingFunction)
      • putIfProbablyAbsent

        public V putIfProbablyAbsent​(K key,
                                     V value)
        Parameters:
        key - The key of the entry.
        value - The value of the entry.
        Returns:
        The previous entry or null if it does not exist.
      • clear

        public void clear()
        Clears the entire map.
      • defaultValue

        protected V defaultValue​(K key)
        Creates a default value. There is no guarantee that the requested value will be set as a once it is created in case that another thread requests a value for a key concurrently.
        Parameters:
        key - The key for which to create a default value.
        Returns:
        The default value for a key without value or null for not defining a default value.
      • expungeStaleEntries

        public void expungeStaleEntries()
        Cleans all unused references.
      • run

        public void run()
        Specified by:
        run in interface Runnable