public class

DynamicDefaultDiskStorage

extends Object
implements DiskStorage
java.lang.Object
   ↳ com.facebook.cache.disk.DynamicDefaultDiskStorage

Class Overview

A supplier of a DiskStorage concrete implementation.

Summary

Public Constructors
DynamicDefaultDiskStorage(int version, Supplier<File> baseDirectoryPathSupplier, String baseDirectoryName, CacheErrorLogger cacheErrorLogger)
Public Methods
void clearAll()
Clear all contents of the storage
boolean contains(String resourceId, Object debugInfo)
Does a resource with this name exist?
DiskStorage.DiskDumpInfo getDumpInfo()
Collection<DiskStorage.Entry> getEntries()
Get all entries currently in the storage
BinaryResource getResource(String resourceId, Object debugInfo)
Get the resource with the specified name
String getStorageName()
Get the storage's name, which should be unique
DiskStorage.Inserter insert(String resourceId, Object debugInfo)
Creates a temporary resource for writing content.
boolean isEnabled()
is this storage enabled?
boolean isExternal()
is this storage external?
void purgeUnexpectedResources()
long remove(DiskStorage.Entry entry)
Remove the resource represented by the entry
long remove(String resourceId)
Remove the resource with specified id
boolean touch(String resourceId, Object debugInfo)
Does a resource with this name exist? If so, update the last-accessed time for the resource
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.facebook.cache.disk.DiskStorage

Public Constructors

public DynamicDefaultDiskStorage (int version, Supplier<File> baseDirectoryPathSupplier, String baseDirectoryName, CacheErrorLogger cacheErrorLogger)

Public Methods

public void clearAll ()

Clear all contents of the storage

Throws
IOException

public boolean contains (String resourceId, Object debugInfo)

Does a resource with this name exist?

Parameters
resourceId id of the resource
debugInfo helper object for debugging
Returns
  • true, if the resource is present in the storage, false otherwise
Throws
IOException

public DiskStorage.DiskDumpInfo getDumpInfo ()

Throws
IOException

public Collection<DiskStorage.Entry> getEntries ()

Get all entries currently in the storage

Returns
  • a collection of entries in storage
Throws
IOException

public BinaryResource getResource (String resourceId, Object debugInfo)

Get the resource with the specified name

Parameters
resourceId id of the resource
debugInfo helper object for debugging
Returns
  • the resource with the specified name. NULL if not found
Throws
IOException

public String getStorageName ()

Get the storage's name, which should be unique

Returns
  • name of the this storage

public DiskStorage.Inserter insert (String resourceId, Object debugInfo)

Creates a temporary resource for writing content. Split from commit() in order to allow concurrent writing of cache entries. This entry will not be available to cache clients until commit() is called passing in the resource returned from this method.

Parameters
resourceId id of the resource
debugInfo helper object for debugging
Returns
  • the Inserter object with methods to write data, commit or cancel the insertion
Throws
IOException

public boolean isEnabled ()

is this storage enabled?

Returns
  • true, if enabled

public boolean isExternal ()

is this storage external?

Returns
  • true, if external

public void purgeUnexpectedResources ()

public long remove (DiskStorage.Entry entry)

Remove the resource represented by the entry

Parameters
entry entry of the resource to delete
Returns
  • size of deleted file if successfully deleted, -1 otherwise
Throws
IOException

public long remove (String resourceId)

Remove the resource with specified id

Returns
  • size of deleted file if successfully deleted, -1 otherwise
Throws
IOException

public boolean touch (String resourceId, Object debugInfo)

Does a resource with this name exist? If so, update the last-accessed time for the resource

Parameters
resourceId id of the resource
debugInfo helper object for debugging
Returns
  • true, if the resource is present in the storage, false otherwise
Throws
IOException