Class FileCache
- java.lang.Object
-
- com.google.common.cache.AbstractCache<java.lang.String,java.io.File>
-
- org.apache.jackrabbit.oak.plugins.blob.FileCache
-
- All Implemented Interfaces:
Cache<java.lang.String,java.io.File>
,java.io.Closeable
,java.lang.AutoCloseable
public class FileCache extends AbstractCache<java.lang.String,java.io.File> implements java.io.Closeable
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.google.common.cache.AbstractCache
AbstractCache.SimpleStatsCounter, AbstractCache.StatsCounter
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static FileCache
build(long maxSize, java.io.File root, CacheLoader<java.lang.String,java.io.InputStream> loader, @Nullable java.util.concurrent.ExecutorService executor)
void
close()
boolean
containsKey(java.lang.String key)
java.io.File
get(java.lang.String key)
@Nullable java.io.File
getIfPresent(java.lang.Object key)
Returns the value associated withkey
in this cache, ornull
if there is no cached value forkey
.@Nullable java.io.File
getIfPresent(java.lang.String key)
Retrieves the file handle from the cache if present and null otherwise.DataStoreCacheStatsMBean
getStats()
void
invalidate(java.lang.Object key)
Discards any cached value for keykey
.void
put(java.lang.String key, java.io.File file)
Puts the given key and file into the cache.-
Methods inherited from class com.google.common.cache.AbstractCache
asMap, cleanUp, get, getAllPresent, invalidateAll, invalidateAll, putAll, size, stats
-
-
-
-
Method Detail
-
build
public static FileCache build(long maxSize, java.io.File root, CacheLoader<java.lang.String,java.io.InputStream> loader, @Nullable @Nullable java.util.concurrent.ExecutorService executor)
-
put
public void put(java.lang.String key, java.io.File file)
Puts the given key and file into the cache. The file is moved to the cache. So, the original file won't be available after this operation. It can be retrieved usinggetIfPresent(String)
.- Specified by:
put
in interfaceCache<java.lang.String,java.io.File>
- Overrides:
put
in classAbstractCache<java.lang.String,java.io.File>
- Parameters:
key
- of the filefile
- to put into cache
-
containsKey
public boolean containsKey(java.lang.String key)
-
getIfPresent
@Nullable public @Nullable java.io.File getIfPresent(java.lang.String key)
Retrieves the file handle from the cache if present and null otherwise.- Parameters:
key
- of the file to retrieve- Returns:
- File handle if available
-
getIfPresent
@Nullable public @Nullable java.io.File getIfPresent(java.lang.Object key)
Description copied from interface:Cache
Returns the value associated withkey
in this cache, ornull
if there is no cached value forkey
.- Specified by:
getIfPresent
in interfaceCache<java.lang.String,java.io.File>
-
get
public java.io.File get(java.lang.String key) throws java.io.IOException
- Throws:
java.io.IOException
-
invalidate
public void invalidate(java.lang.Object key)
Description copied from interface:Cache
Discards any cached value for keykey
.- Specified by:
invalidate
in interfaceCache<java.lang.String,java.io.File>
- Overrides:
invalidate
in classAbstractCache<java.lang.String,java.io.File>
-
getStats
public DataStoreCacheStatsMBean getStats()
-
close
public void close()
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
-
-