Class CacheProxy<K,​V>

    • Method Detail

      • containsKey

        public boolean containsKey​(K key)
        Specified by:
        containsKey in interface Cache<K,​V>
      • getAll

        public Map<K,​V> getAll​(Set<? extends K> keys)
        Specified by:
        getAll in interface Cache<K,​V>
      • getAndFilterExpiredEntries

        protected Map<K,​Expirable<V>> getAndFilterExpiredEntries​(Set<? extends K> keys,
                                                                       boolean updateAccessTime)
        Returns all of the mappings present, expiring as required, and optionally updates their access expiry time.
      • loadAll

        public void loadAll​(Set<? extends K> keys,
                            boolean replaceExistingValues,
                            CompletionListener completionListener)
        Specified by:
        loadAll in interface Cache<K,​V>
      • put

        public void put​(K key,
                        V value)
        Specified by:
        put in interface Cache<K,​V>
      • putNoCopyOrAwait

        @CanIgnoreReturnValue
        protected com.github.benmanes.caffeine.jcache.CacheProxy.PutResult<V> putNoCopyOrAwait​(K key,
                                                                                               V value,
                                                                                               boolean publishToWriter)
        Associates the specified value with the specified key in the cache.
        Parameters:
        key - key with which the specified value is to be associated
        value - value to be associated with the specified key
        publishToWriter - if the writer should be notified
        Returns:
        the old value
      • putAll

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

        public V getAndRemove​(K key)
        Specified by:
        getAndRemove in interface Cache<K,​V>
      • getAndReplace

        public V getAndReplace​(K key,
                               V value)
        Specified by:
        getAndReplace in interface Cache<K,​V>
      • removeAll

        public void removeAll​(Set<? extends K> keys)
        Specified by:
        removeAll in interface Cache<K,​V>
      • removeAll

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

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

        public boolean isClosed()
        Specified by:
        isClosed in interface Cache<K,​V>
      • unwrap

        public <T> T unwrap​(Class<T> clazz)
        Specified by:
        unwrap in interface Cache<K,​V>
      • requireNotClosed

        protected final void requireNotClosed()
        Checks that the cache is not closed.
      • copyOf

        protected final <T> @PolyNull T copyOf​(@PolyNull @Nullable T object)
        Returns a copy of the value if value-based caching is enabled.
        Type Parameters:
        T - the type of object being copied
        Parameters:
        object - the object to be copied
        Returns:
        a copy of the object if storing by value or the same instance if by reference
      • copyValue

        protected final @PolyNull V copyValue​(@PolyNull Expirable<V> expirable)
        Returns a copy of the value if value-based caching is enabled.
        Parameters:
        expirable - the expirable value to be copied
        Returns:
        a copy of the value if storing by value or the same instance if by reference
      • copyMap

        protected final Map<K,​V> copyMap​(Map<K,​Expirable<V>> map)
        Returns a deep copy of the map if value-based caching is enabled.
        Parameters:
        map - the mapping of keys to expirable values
        Returns:
        a deep or shallow copy of the mappings depending on the store by value setting
      • currentTimeMillis

        protected final long currentTimeMillis()
        Returns the current time in milliseconds.
      • nanosToMillis

        protected static long nanosToMillis​(long nanos)
        Returns the nanosecond time in milliseconds.
      • setAccessExpireTime

        protected final void setAccessExpireTime​(K key,
                                                 Expirable<?> expirable,
                                                 long currentTimeMS)
        Sets the access expiration time.
        Parameters:
        key - the entry's key
        expirable - the entry that was operated on
        currentTimeMS - the current time, or 0 if not read yet
      • getWriteExpireTimeMS

        protected final long getWriteExpireTimeMS​(boolean created)
        Returns the time when the entry will expire.
        Parameters:
        created - if the write operation is an insert or an update
        Returns:
        the time when the entry will expire, zero if it should expire immediately, Long.MIN_VALUE if it should not be changed, or Long.MAX_VALUE if eternal