public class PreviewStorage extends java.lang.Object implements java.io.Serializable, LRUStorageManagedDirectory.DeleteHandler
| Modifier and Type | Class and Description |
|---|---|
class |
PreviewStorage.NotifyingFileOutputStream |
| Modifier and Type | Field and Description |
|---|---|
static int |
MAX_CACHE_AGE
Max cache age in days - Redefine this constant to change the default policy.
|
static long |
MAX_CACHE_SIZE
Max cache size in bytes - Redefine this constant to change the default policy.
|
protected java.io.File |
mMetadataDirectory |
protected java.io.File |
mPreviewDirectory |
protected java.util.concurrent.ConcurrentHashMap<java.lang.String,java.lang.Long> |
mRecentlyWrittenFiles |
protected java.io.File |
mThumbnailDirectory |
protected static java.util.concurrent.atomic.AtomicLong |
TEMP_COUNTER |
protected java.lang.String |
TEMP_EXTENSION |
| Constructor and Description |
|---|
PreviewStorage(com.box.androidsdk.content.models.BoxSession session) |
PreviewStorage(com.box.androidsdk.content.models.BoxSession session,
long maxCacheSize,
int expirationDays)
Default implementation of Serializable PreviewStorage
|
| Modifier and Type | Method and Description |
|---|---|
void |
cacheMetadata(com.box.androidsdk.content.models.BoxFile metadata,
java.lang.String tag) |
void |
clearCacheForFile(com.box.androidsdk.content.models.BoxFile fileInfo)
Clears the storage of all files associated with the provided BoxFile
|
java.io.OutputStream |
createPreviewOutputStream(com.box.androidsdk.content.models.BoxFile boxFile)
This stream must be flushed upon successful completion.
|
java.io.OutputStream |
createPreviewOutputStream(com.box.androidsdk.content.models.BoxFile boxFile,
java.lang.String tag) |
java.io.OutputStream |
createThumbnailOutputStream(com.box.androidsdk.content.models.BoxFile boxFile)
Deprecated.
|
java.io.OutputStream |
createThumbnailOutputStream(com.box.androidsdk.content.models.BoxFile boxFile,
java.lang.String tag) |
java.io.InputStream |
getCachedPreview(com.box.androidsdk.content.models.BoxFile boxFile)
Deprecated.
|
java.io.InputStream |
getCachedPreview(com.box.androidsdk.content.models.BoxFile boxFile,
java.lang.String tag) |
java.io.File |
getCachedPreviewFile(com.box.androidsdk.content.models.BoxFile boxFile,
java.lang.String tag) |
java.io.InputStream |
getCachedThumbnail(com.box.androidsdk.content.models.BoxFile boxFile)
Deprecated.
|
java.io.InputStream |
getCachedThumbnail(com.box.androidsdk.content.models.BoxFile boxFile,
java.lang.String tag) |
java.io.File |
getCachedThumbnailFile(com.box.androidsdk.content.models.BoxFile boxFile,
java.lang.String tag) |
protected java.lang.String |
getCacheName(com.box.androidsdk.content.models.BoxFile boxFile,
java.lang.String tag,
java.lang.String ext) |
<T extends com.box.androidsdk.content.models.BoxFile> |
getMetadata(com.box.androidsdk.content.models.BoxFile fileInfo,
java.lang.String tag) |
protected java.io.File |
getMetadataFile(com.box.androidsdk.content.models.BoxFile boxFile,
java.lang.String tag) |
protected java.io.File |
getPreviewFile(com.box.androidsdk.content.models.BoxFile boxFile,
java.lang.String tag) |
protected java.io.File |
getThumbnailFile(com.box.androidsdk.content.models.BoxFile boxFile,
java.lang.String tag) |
protected void |
init(com.box.androidsdk.content.models.BoxSession session) |
boolean |
isThumbnailFilePresent(com.box.androidsdk.content.models.BoxFile boxFile) |
boolean |
isThumbnailFilePresent(com.box.androidsdk.content.models.BoxFile boxFile,
java.lang.String tag) |
void |
onFileDeleted(java.io.File file,
boolean deleteSuccessful) |
boolean |
shouldDelete(java.io.File file) |
protected static transient java.util.concurrent.atomic.AtomicLong TEMP_COUNTER
protected final java.lang.String TEMP_EXTENSION
public static long MAX_CACHE_SIZE
public static int MAX_CACHE_AGE
protected java.util.concurrent.ConcurrentHashMap<java.lang.String,java.lang.Long> mRecentlyWrittenFiles
protected java.io.File mThumbnailDirectory
protected java.io.File mPreviewDirectory
protected java.io.File mMetadataDirectory
public PreviewStorage(com.box.androidsdk.content.models.BoxSession session,
long maxCacheSize,
int expirationDays)
session - - BoxSession from the content sdk after the user is authenticatedmaxCacheSize - - Maximum size of the cache in bytes.expirationDays - - Days beyond which files in cache can be clearedpublic PreviewStorage(com.box.androidsdk.content.models.BoxSession session)
protected void init(com.box.androidsdk.content.models.BoxSession session)
public boolean shouldDelete(java.io.File file)
shouldDelete in interface LRUStorageManagedDirectory.DeleteHandlerfile - the file this class is planning to delete.public void onFileDeleted(java.io.File file,
boolean deleteSuccessful)
onFileDeleted in interface LRUStorageManagedDirectory.DeleteHandlerfile - the file this class attempted to delete.deleteSuccessful - true if the file was successfully deleted, false if the delete failed.@Deprecated public java.io.InputStream getCachedPreview(com.box.androidsdk.content.models.BoxFile boxFile)
public java.io.InputStream getCachedPreview(com.box.androidsdk.content.models.BoxFile boxFile,
java.lang.String tag)
public java.io.File getCachedPreviewFile(com.box.androidsdk.content.models.BoxFile boxFile,
java.lang.String tag)
@Deprecated public java.io.InputStream getCachedThumbnail(com.box.androidsdk.content.models.BoxFile boxFile)
public boolean isThumbnailFilePresent(com.box.androidsdk.content.models.BoxFile boxFile)
public boolean isThumbnailFilePresent(com.box.androidsdk.content.models.BoxFile boxFile,
java.lang.String tag)
public java.io.InputStream getCachedThumbnail(com.box.androidsdk.content.models.BoxFile boxFile,
java.lang.String tag)
public java.io.File getCachedThumbnailFile(com.box.androidsdk.content.models.BoxFile boxFile,
java.lang.String tag)
protected java.io.File getPreviewFile(com.box.androidsdk.content.models.BoxFile boxFile,
java.lang.String tag)
protected java.io.File getThumbnailFile(com.box.androidsdk.content.models.BoxFile boxFile,
java.lang.String tag)
protected java.io.File getMetadataFile(com.box.androidsdk.content.models.BoxFile boxFile,
java.lang.String tag)
protected java.lang.String getCacheName(com.box.androidsdk.content.models.BoxFile boxFile,
java.lang.String tag,
java.lang.String ext)
@Deprecated public java.io.OutputStream createThumbnailOutputStream(com.box.androidsdk.content.models.BoxFile boxFile)
boxFile - the box file to get stream for.public java.io.OutputStream createThumbnailOutputStream(com.box.androidsdk.content.models.BoxFile boxFile,
java.lang.String tag)
public java.io.OutputStream createPreviewOutputStream(com.box.androidsdk.content.models.BoxFile boxFile)
boxFile - the box file to get stream for.public java.io.OutputStream createPreviewOutputStream(com.box.androidsdk.content.models.BoxFile boxFile,
java.lang.String tag)
public void cacheMetadata(com.box.androidsdk.content.models.BoxFile metadata,
java.lang.String tag)
public <T extends com.box.androidsdk.content.models.BoxFile> T getMetadata(com.box.androidsdk.content.models.BoxFile fileInfo,
java.lang.String tag)
public void clearCacheForFile(com.box.androidsdk.content.models.BoxFile fileInfo)
fileInfo - The BoxFile of the files that should be removed