Package org.nuxeo.common.file
Interface FileCache
- All Known Implementing Classes:
LRUFileCache
public interface FileCache
A cache of
Files.
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 TypeMethodDescriptionvoidclear()Clears the cache.Gets a file from the cache.intGets the number of items in the cache.longgetSize()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
nullif absent
-
clear
void clear()Clears the cache.Files will not be deleted from the filesystm while the returned file objects are still referenced.
-