Class FileCache

  • All Implemented Interfaces:
    Cache<java.lang.String,​java.io.File>, java.io.Closeable, java.lang.AutoCloseable

    public class FileCache
    extends AbstractCache<java.lang.String,​java.io.File>
    implements java.io.Closeable
    • Method Detail

      • build

        public static FileCache build​(long maxSize,
                                      java.io.File root,
                                      CacheLoader<java.lang.String,​java.io.InputStream> loader,
                                      @Nullable
                                      @Nullable java.util.concurrent.ExecutorService executor)
      • put

        public void put​(java.lang.String key,
                        java.io.File file)
        Puts the given key and file into the cache. The file is moved to the cache. So, the original file won't be available after this operation. It can be retrieved using getIfPresent(String).
        Specified by:
        put in interface Cache<java.lang.String,​java.io.File>
        Overrides:
        put in class AbstractCache<java.lang.String,​java.io.File>
        Parameters:
        key - of the file
        file - to put into cache
      • containsKey

        public boolean containsKey​(java.lang.String key)
      • getIfPresent

        @Nullable
        public @Nullable java.io.File getIfPresent​(java.lang.String key)
        Retrieves the file handle from the cache if present and null otherwise.
        Parameters:
        key - of the file to retrieve
        Returns:
        File handle if available
      • getIfPresent

        @Nullable
        public @Nullable java.io.File getIfPresent​(java.lang.Object key)
        Description copied from interface: Cache
        Returns the value associated with key in this cache, or null if there is no cached value for key.
        Specified by:
        getIfPresent in interface Cache<java.lang.String,​java.io.File>
      • get

        public java.io.File get​(java.lang.String key)
                         throws java.io.IOException
        Throws:
        java.io.IOException
      • invalidate

        public void invalidate​(java.lang.Object key)
        Description copied from interface: Cache
        Discards any cached value for key key.
        Specified by:
        invalidate in interface Cache<java.lang.String,​java.io.File>
        Overrides:
        invalidate in class AbstractCache<java.lang.String,​java.io.File>
      • close

        public void close()
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable