public class ContentCacheImpl extends java.lang.Object implements ContentCache
cacheRoot.
The in-memory lookup table is provided by Ehcache.
| Modifier and Type | Class and Description |
|---|---|
static class |
ContentCacheImpl.CacheWriter
This FileContentWriter subclass allows for the temp cache file
to be renamed to a cache file proper, e.g filename.tmp becomes
filename.bin
|
protected static class |
ContentCacheImpl.NumericFileNameComparator |
| Constructor and Description |
|---|
ContentCacheImpl() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
contains(Key key)
Allows caller to perform lookup using a
Key. |
boolean |
contains(java.lang.String contentUrl)
Check to see if the content - specified by URL - exists in the cache.
|
static java.lang.String |
createNewCacheFilePath()
Creates a relative path for a new cache file.
|
void |
deleteFile(java.lang.String url)
Deletes the cached content file for the specified URL.
|
java.lang.String |
getCacheFilePath(java.lang.String contentUrl)
Get the path of a cache file for the given content URL - will return null if there is no entry
in the cache for the specified URL.
|
java.io.File |
getCacheRoot()
Returns the directory where cache files will be written (cacheRoot).
|
java.lang.String |
getContentUrl(java.io.File file)
Get a content URL from the cache - keyed by File.
|
org.alfresco.service.cmr.repository.ContentReader |
getReader(java.lang.String contentUrl)
Retrieve a ContentReader for the cached content specified by URL.
|
org.alfresco.service.cmr.repository.ContentWriter |
getWriter(java.lang.String url)
Retrieve a ContentWriter to write content to a cache file.
|
void |
processFiles(FileHandler handler)
Ask the ContentCacheImpl to visit all the content files in the cache.
|
boolean |
put(java.lang.String contentUrl,
org.alfresco.service.cmr.repository.ContentReader source)
Put an item into cache - this will populate both a disk file (with content) and
the in-memory lookup table (with the URL and cache file location).
|
void |
putIntoLookup(Key key,
java.lang.String value)
Put an item in the lookup table.
|
void |
remove(java.lang.String contentUrl)
Remove a cached item from the in-memory lookup table.
|
void |
removeAll()
Remove all items from the lookup table.
|
void |
setCacheRoot(java.io.File cacheRoot)
Specify the directory where cache files will be written.
|
void |
setMemoryStore(org.alfresco.repo.cache.SimpleCache memoryStore)
Configure ContentCache with a memory store - an EhCacheAdapter.
|
public boolean contains(java.lang.String contentUrl)
ContentCacheNote that just because the in-memory cache has a record of the content item having been placed into the cache, it does not mean that the disk item is guaranteed to be there. The temp file clean-up process, for example, may have removed it.
contains in interface ContentCachepublic boolean contains(Key key)
Key.key - public void putIntoLookup(Key key, java.lang.String value)
key - value - public java.lang.String getCacheFilePath(java.lang.String contentUrl)
contentUrl - public java.lang.String getContentUrl(java.io.File file)
file - public org.alfresco.service.cmr.repository.ContentReader getReader(java.lang.String contentUrl)
ContentCachegetReader in interface ContentCachepublic boolean put(java.lang.String contentUrl,
org.alfresco.service.cmr.repository.ContentReader source)
ContentCacheput in interface ContentCachepublic void remove(java.lang.String contentUrl)
ContentCacheContentCache.deleteFile(String).remove in interface ContentCachepublic void removeAll()
public void deleteFile(java.lang.String url)
ContentCacheContentCache.remove(String) after calling this method.deleteFile in interface ContentCachepublic org.alfresco.service.cmr.repository.ContentWriter getWriter(java.lang.String url)
ContentCachegetWriter in interface ContentCachepublic static java.lang.String createNewCacheFilePath()
e.g. 2011/12/3/13/55/27d56416-bf9f-4d89-8f9e-e0a52de0a59e.bin
public void setMemoryStore(org.alfresco.repo.cache.SimpleCache memoryStore)
memoryStore - the memoryStore to setpublic void setCacheRoot(java.io.File cacheRoot)
cacheRoot - public java.io.File getCacheRoot()
getCacheRoot in interface ContentCachepublic void processFiles(FileHandler handler)
handler - Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.