Package org.nuxeo.common.file
Interface FileCache
- All Known Implementing Classes:
LRUFileCache
public interface FileCache
A cache of
File
s.
The cache uses application-chosen keys.
To check presence in the cache, use getFile(java.lang.String)
.
To put a new InputStream
in the cache, use putFile(String, InputStream)
. Or if you'd like a
File
object into which to write some data, get one using getTempFile()
, put the actual binary in it,
then pass this file to putFile(String, File)
.
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
Clears the cache.Gets a file from the cache.int
Gets the number of items in the cache.long
getSize()
Gets the size of the cache, in bytes.Creates a temporary file.Puts a file in the cache.putFile
(String key, InputStream in) Puts a file in the cache.
-
Method Details
-
getSize
long getSize()Gets the size of the cache, in bytes. -
getNumberOfItems
int getNumberOfItems()Gets the number of items in the cache. -
getTempFile
Creates a temporary file.- Throws:
IOException
-
putFile
Puts a file in the cache.- Parameters:
key
- the cache keyin
- the input stream to cache (closed afterwards)- Returns:
- the cached file
- Throws:
IllegalArgumentException
- if the key is illegalIOException
-
putFile
Puts a file in the cache.The file must have been created through
getTempFile()
. The file is "given" to this method, who will delete it or rename it.- Parameters:
key
- the cache keyfile
- the file to cache- Returns:
- the cached file
- Throws:
IllegalArgumentException
- if the key is illegalIOException
-
getFile
Gets a file from the cache.A returned file will never be deleted from the filesystem while the returned file object is still referenced, although it may be purged from the cache.
- Parameters:
key
- the cache key- Returns:
- the cached file, or
null
if absent
-
clear
void clear()Clears the cache.Files will not be deleted from the filesystm while the returned file objects are still referenced.
-