|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.jackrabbit.core.data.LocalCache
public class LocalCache
This class implements a LRU cache used by CachingDataStore. If cache
size exceeds limit, this cache goes in purge mode. In purge mode any
operation to cache is no-op. After purge cache size would be less than
cachePurgeResizeFactor * maximum size.
| Constructor Summary | |
|---|---|
LocalCache(String path,
String tmpPath,
long size,
double cachePurgeTrigFactor,
double cachePurgeResizeFactor,
AsyncUploadCache asyncUploadCache)
Build LRU cache of files located at 'path'. |
|
| Method Summary | |
|---|---|
void |
close()
Close the cache. |
void |
delete(String fileName)
Delete file from cache. |
File |
getFileIfStored(String fileName)
|
Long |
getFileLength(String fileName)
Returns length of file if exists in cache else returns null. |
InputStream |
getIfStored(String fileName)
Return the inputstream from from cache, or null if not in the cache. |
File |
store(String fileName,
File src)
Store an item along with file in cache. |
AsyncUploadCacheResult |
store(String fileName,
File src,
boolean tryForAsyncUpload)
This method add file to LocalCache and tries that file can be
added to AsyncUploadCache. |
InputStream |
store(String fileName,
InputStream in)
Store an item in the cache and return the input stream. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public LocalCache(String path,
String tmpPath,
long size,
double cachePurgeTrigFactor,
double cachePurgeResizeFactor,
AsyncUploadCache asyncUploadCache)
throws IOException,
ClassNotFoundException
path - file system pathtmpPath - temporary directory used by cache.maxSize - maximum size of cache.cachePurgeTrigFactor - factor which triggers cache to purge mode.
That is if current size exceed (cachePurgeTrigFactor * maxSize), the
cache will go in auto-purge mode.cachePurgeResizeFactor - after cache purge size of cache will be
just less (cachePurgeResizeFactor * maxSize).asyncUploadCache - AsyncUploadCache
RepositoryException
IOException
ClassNotFoundException| Method Detail |
|---|
public InputStream store(String fileName,
InputStream in)
throws IOException
TransientFileFactory.createTransientFile(String, String, File) is
returned. Otherwise inputStream from cached file is returned. This method
doesn't close the incoming inputstream.
fileName - the key of cache.in - InputStream
IOException
public File store(String fileName,
File src)
File.length() If file already exists in cache,
File.setLastModified(long) is updated with current time.
fileName - the key of cache.src - file to be added to cache.
IOException
public AsyncUploadCacheResult store(String fileName,
File src,
boolean tryForAsyncUpload)
throws IOException
LocalCache and tries that file can be
added to AsyncUploadCache. If file is added to
AsyncUploadCache successfully, it sets
AsyncUploadResult#setAsyncUpload(boolean) to true.
fileName - name of the file.src - source file.tryForAsyncUpload - If true it tries to add fileName to
AsyncUploadCache
AsyncUploadCacheResult. This method sets
AsyncUploadResult#setAsyncUpload(boolean) to true, if
fileName is added to AsyncUploadCache successfully else
it sets AsyncUploadCacheResult.setAsyncUpload(boolean) to
false. AsyncUploadCacheResult.getFile() contains cached
file, if it is added to LocalCache or original file.
IOException
public InputStream getIfStored(String fileName)
throws IOException
fileName - name of file.
IOException
public File getFileIfStored(String fileName)
throws IOException
IOExceptionpublic void delete(String fileName)
fileName - file name that need to be removed from cache.public Long getFileLength(String fileName)
fileName - name of the file.public void close()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||