Package org.opencms.cache
Class CmsVfsDiskCache
java.lang.Object
org.opencms.cache.CmsVfsDiskCache
Implements a RFS file based disk cache, that handles parameter based versions of VFS files,
providing a cache for the "online" and another for the "offline" project.
- Since:
- 6.2.0
-
Constructor Summary
ConstructorDescriptionCmsVfsDiskCache
(String basepath, String foldername) Creates a new disk cache. -
Method Summary
Modifier and TypeMethodDescriptionbyte[]
getCacheContent
(String rfsName, long dateLastModified) Returns the content of the requested file in the disk cache, ornull
if the file is not found in the cache, or is found but outdated.getCacheName
(boolean online, String rootPath, String parameters) Returns the RFS name to use for caching the given VFS resource with parameters in the disk cache.Returns the absolute path of the cache repository in the RFS.void
saveCacheFile
(String rfsName, byte[] content, long dateLastModified) Saves the given file content in the disk cache.static File
Saves the given file content to a RFS file of the given name (full path).
-
Constructor Details
-
CmsVfsDiskCache
Creates a new disk cache.- Parameters:
basepath
- the base path for the cache in the RFSfoldername
- the folder name for this cache, to be used a subfolder for the base folder
-
-
Method Details
-
saveFile
Saves the given file content to a RFS file of the given name (full path).If the required parent folders do not exists, they are also created.
- Parameters:
rfsName
- the RFS name of the file to save the content incontent
- the content of the file to save- Returns:
- a reference to the File that was saved
- Throws:
IOException
- in case of disk access errors
-
getCacheContent
Returns the content of the requested file in the disk cache, ornull
if the file is not found in the cache, or is found but outdated.- Parameters:
rfsName
- the file RFS name to look up in the cachedateLastModified
- the date of last modification for the cache- Returns:
- the content of the requested file in the VFS disk cache, or
null
-
getCacheName
Returns the RFS name to use for caching the given VFS resource with parameters in the disk cache.- Parameters:
online
- if true, the online disk cache is used, the offline disk cache otherwiserootPath
- the VFS resource root path to get the RFS cache name forparameters
- the parameters of the request to the VFS resource- Returns:
- the RFS name to use for caching the given VFS resource with parameters
-
getRepositoryPath
Returns the absolute path of the cache repository in the RFS.- Returns:
- the absolute path of the cache repository in the RFS
-
saveCacheFile
Saves the given file content in the disk cache.- Parameters:
rfsName
- the RFS name of the file to save the content incontent
- the content of the file to savedateLastModified
- the date of last modification to set for the save file- Throws:
IOException
- in case of disk access errors
-