Class SoftTimeoutMap<K,​V>

  • All Implemented Interfaces:
    Map<K,​V>

    public class SoftTimeoutMap<K,​V>
    extends Object
    implements Map<K,​V>
    • Constructor Detail

      • SoftTimeoutMap

        public SoftTimeoutMap()
      • SoftTimeoutMap

        public SoftTimeoutMap​(long timeout)
      • SoftTimeoutMap

        public SoftTimeoutMap​(long timeout,
                              boolean refreshOnAccess)
      • SoftTimeoutMap

        public SoftTimeoutMap​(long timeout,
                              long checkTimeout,
                              boolean refreshOnAccess)
      • SoftTimeoutMap

        public SoftTimeoutMap​(long timeout,
                              long checkTimeout,
                              boolean refreshOnAccess,
                              SoftTimeoutMap.Invalidator<K,​V> invalidator)
    • Method Detail

      • size

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

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

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

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

        public long getAccessCount​(Object key)
      • doValidationCheck

        public void doValidationCheck()
      • put

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

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

        public void putAll​(Map<? extends K,​? extends V> m)
        Specified by:
        putAll in interface Map<K,​V>
      • clear

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

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

        public V getOrDefault​(Object key,
                              V defaultValue)
        Specified by:
        getOrDefault in interface Map<K,​V>
      • forEach

        public void forEach​(BiConsumer<? super K,​? super V> action)
        Specified by:
        forEach in interface Map<K,​V>
      • replaceAll

        public void replaceAll​(BiFunction<? super K,​? super V,​? extends V> function)
        Specified by:
        replaceAll in interface Map<K,​V>
      • putIfAbsent

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

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

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

        public V computeIfAbsent​(K key,
                                 Function<? super K,​? extends V> mappingFunction)
        Specified by:
        computeIfAbsent in interface Map<K,​V>
      • computeIfPresent

        public V computeIfPresent​(K key,
                                  BiFunction<? super K,​? super V,​? extends V> remappingFunction)
        Specified by:
        computeIfPresent in interface Map<K,​V>
      • compute

        public V compute​(K key,
                         BiFunction<? super K,​? super V,​? extends V> remappingFunction)
        Specified by:
        compute in interface Map<K,​V>
      • merge

        public V merge​(K key,
                       V value,
                       BiFunction<? super V,​? super V,​? extends V> remappingFunction)
        Specified by:
        merge in interface Map<K,​V>
      • getTimeout

        public long getTimeout()
      • setTimeout

        public void setTimeout​(long timeout)
        Set the maximal life time for every entry. After the timeout the entry will be removed.
        Parameters:
        timeout - timeout in ms
      • getCheckTimeout

        public long getCheckTimeout()
      • setCheckTimeout

        public void setCheckTimeout​(long checkTimeout)
        Set the time after a full check should be done. If the map is accesses after timeout a full check over all elements will be performed. Set to -1 to disable.
        Parameters:
        checkTimeout - timeout in ms
      • setInvalidator

        public void setInvalidator​(SoftTimeoutMap.Invalidator<K,​V> invalidator)
        Set a function which can decide if the entry is no more valid.
        Parameters:
        invalidator -
      • isRefreshOnAccess

        public boolean isRefreshOnAccess()
      • setRefreshOnAccess

        public void setRefreshOnAccess​(boolean refreshOnAccess)
        Set to true if also get requests will reset the timeout. If set to false it will timeout even it was read. Default is true.
        Parameters:
        refreshOnAccess -