com.bumptech.glide.load.engine.cache
Class DiskLruCacheWrapper

java.lang.Object
  extended by com.bumptech.glide.load.engine.cache.DiskLruCacheWrapper
All Implemented Interfaces:
DiskCache

public class DiskLruCacheWrapper
extends Object
implements DiskCache

The default DiskCache implementation. There must be no more than one active instance for a given directory at a time.

See Also:
get(java.io.File, int)

Nested Class Summary
 
Nested classes/interfaces inherited from interface com.bumptech.glide.load.engine.cache.DiskCache
DiskCache.Factory, DiskCache.Writer
 
Constructor Summary
protected DiskLruCacheWrapper(File directory, int maxSize)
           
 
Method Summary
 void clear()
          Clear the cache.
 void delete(Key key)
          Remove the key and value from the cache.
static DiskCache get(File directory, int maxSize)
          Get a DiskCache in the given directory and size.
 File get(Key key)
          Get the cache for the value at the given key.
 void put(Key key, DiskCache.Writer writer)
          Write to a key in the cache.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DiskLruCacheWrapper

protected DiskLruCacheWrapper(File directory,
                              int maxSize)
Method Detail

get

public static DiskCache get(File directory,
                            int maxSize)
Get a DiskCache in the given directory and size. If a disk cache has alread been created with a different directory and/or size, it will be returned instead and the new arguments will be ignored.

Parameters:
directory - The directory for the disk cache
maxSize - The max size for the disk cache
Returns:
The new disk cache with the given arguments, or the current cache if one already exists

get

public File get(Key key)
Description copied from interface: DiskCache
Get the cache for the value at the given key.

Note - This is potentially dangerous, someone may write a new value to the file at any point in timeand we won't know about it.

Specified by:
get in interface DiskCache
Parameters:
key - The key in the cache.
Returns:
An InputStream representing the data at key at the time get is called.

put

public void put(Key key,
                DiskCache.Writer writer)
Description copied from interface: DiskCache
Write to a key in the cache. DiskCache.Writer is used so that the cache implementation can perform actions after the write finishes, like commit (via atomic file rename).

Specified by:
put in interface DiskCache
Parameters:
key - The key to write to.
writer - An interface that will write data given an OutputStream for the key.

delete

public void delete(Key key)
Description copied from interface: DiskCache
Remove the key and value from the cache.

Specified by:
delete in interface DiskCache
Parameters:
key - The key to remove.

clear

public void clear()
Description copied from interface: DiskCache
Clear the cache.

Specified by:
clear in interface DiskCache