public class DefaultLocalMediaFileCacheService extends java.lang.Object implements LocalMediaFileCacheService
Default implementation of LocalMediaFileCache interface. Allows to cache locally any stream and returns
binary data as File or FileInputStream from local cache.
To configure folder to use local cache use following property key:
folder.folderQualifier.local.cache = true
| Modifier and Type | Class and Description |
|---|---|
static class |
DefaultLocalMediaFileCacheService.MediaCacheFileInputStream |
static class |
DefaultLocalMediaFileCacheService.MediaCacheKey |
static class |
DefaultLocalMediaFileCacheService.MediaCacheUnit |
LocalMediaFileCacheService.StreamGetter| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
CACHE_FILE_NAME_DELIM |
| Constructor and Description |
|---|
DefaultLocalMediaFileCacheService() |
| Modifier and Type | Method and Description |
|---|---|
void |
init()
Recreates cache and adds lifecycle callback after bean construction
|
void |
removeFromCache(MediaStorageConfigService.MediaFolderConfig config,
java.lang.String location)
Removes given media from local cache.
|
void |
setCacheController(CacheController cacheController) |
void |
setCacheRecreator(MediaCacheRecreator cacheRecreator) |
void |
setMainDataDir(java.io.File mainDataDir) |
void |
setMediaCacheRegion(MediaCacheRegion mediaCacheRegion) |
void |
setStorageConfigService(MediaStorageConfigService storageConfigService) |
void |
setStorageRegistry(MediaStorageRegistry storageRegistry) |
void |
setStorageStrategy(LocalFileMediaStorageStrategy storageStrategy) |
java.io.File |
storeOrGetAsFile(MediaStorageConfigService.MediaFolderConfig config,
java.lang.String location,
LocalMediaFileCacheService.StreamGetter streamGetter)
Checks whether there is local cached version of media data and stores it if not, then returns it as regular
File taken from cache. |
java.io.InputStream |
storeOrGetAsStream(MediaStorageConfigService.MediaFolderConfig config,
java.lang.String location,
LocalMediaFileCacheService.StreamGetter streamGetter)
Checks whether there is local cached version of media data and stores it if not, then returns it as
FileInputStream build on top of cached file. |
public static final java.lang.String CACHE_FILE_NAME_DELIM
@PostConstruct public void init()
public java.io.File storeOrGetAsFile(MediaStorageConfigService.MediaFolderConfig config, java.lang.String location, LocalMediaFileCacheService.StreamGetter streamGetter)
LocalMediaFileCacheServiceFile taken from cache.storeOrGetAsFile in interface LocalMediaFileCacheServiceconfig - media folder config objectlocation - the locationstreamGetter - the stream getter which returns proper data stream for particular Media item.File objectpublic java.io.InputStream storeOrGetAsStream(MediaStorageConfigService.MediaFolderConfig config, java.lang.String location, LocalMediaFileCacheService.StreamGetter streamGetter)
LocalMediaFileCacheServiceFileInputStream build on top of cached file.storeOrGetAsStream in interface LocalMediaFileCacheServiceconfig - media folder config objectlocation - the locationstreamGetter - the stream getter which returns proper data stream for particular Media item.FileInputStream objectpublic void removeFromCache(MediaStorageConfigService.MediaFolderConfig config, java.lang.String location)
LocalMediaFileCacheServiceremoveFromCache in interface LocalMediaFileCacheServiceconfig - media folder config objectlocation - the location of cached file in real storagepublic void setMainDataDir(java.io.File mainDataDir)
public void setCacheController(CacheController cacheController)
public void setStorageRegistry(MediaStorageRegistry storageRegistry)
public void setStorageStrategy(LocalFileMediaStorageStrategy storageStrategy)
public void setMediaCacheRegion(MediaCacheRegion mediaCacheRegion)
public void setStorageConfigService(MediaStorageConfigService storageConfigService)
public void setCacheRecreator(MediaCacheRecreator cacheRecreator)
Copyright © 2018 SAP SE. All Rights Reserved.