Package de.umass.lastfm.cache
Class FileSystemCache
java.lang.Object
de.umass.lastfm.cache.Cache
de.umass.lastfm.cache.FileSystemCache
- All Implemented Interfaces:
ScrobbleCache
Standard
Cache implementation which is used by default by the Caller class.
This implementation caches all responses in the file system. In addition to the raw responses it stores a
.meta file which contains the expiration date for the specified request.- Author:
- Janni Kovacs
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcacheScrobble(SubmissionData... submissions) Caches one or moreSubmissionData.voidcacheScrobble(Collection<SubmissionData> submissions) Caches a collection ofSubmissionData.voidclear()Clears the cache by effectively removing all cached data.voidClears all cached scrobbles from this cache.booleanChecks if the cache contains an entry with the given name.booleanisEmpty()Checks if the cache contains any scrobbles.booleanChecks if the specified entry is expired.Loads the specified entry from the cache and returns an InputStream to be read from.voidRemoves the specified entry from the cache if available.voidTries to scrobble all cached scrobbles.voidstore(String cacheEntryName, InputStream inputStream, long expirationDate) Stores a request in the cache.Methods inherited from class de.umass.lastfm.cache.Cache
createCacheEntryName, getExpirationPolicy, setExpirationPolicy, setHashCacheEntryNames
-
Constructor Details
-
FileSystemCache
public FileSystemCache() -
FileSystemCache
-
-
Method Details
-
contains
Description copied from class:CacheChecks if the cache contains an entry with the given name. -
remove
Description copied from class:CacheRemoves the specified entry from the cache if available. Does nothing if no such entry is available. -
isExpired
Description copied from class:CacheChecks if the specified entry is expired. -
clear
public void clear()Description copied from class:CacheClears the cache by effectively removing all cached data. -
load
Description copied from class:CacheLoads the specified entry from the cache and returns an InputStream to be read from. Returnsnullif the cache does not contain the specified cacheEntryName. -
store
Description copied from class:CacheStores a request in the cache. -
cacheScrobble
Description copied from interface:ScrobbleCacheCaches a collection ofSubmissionData.- Specified by:
cacheScrobblein interfaceScrobbleCache- Parameters:
submissions- The submissions
-
cacheScrobble
Description copied from interface:ScrobbleCacheCaches one or moreSubmissionData.- Specified by:
cacheScrobblein interfaceScrobbleCache- Parameters:
submissions- The submissions
-
isEmpty
public boolean isEmpty()Description copied from interface:ScrobbleCacheChecks if the cache contains any scrobbles.- Specified by:
isEmptyin interfaceScrobbleCache- Returns:
trueif this cache is empty
-
scrobble
Description copied from interface:ScrobbleCacheTries to scrobble all cached scrobbles. If it succeeds the cache will be empty afterwards. If this method fails an IOException is thrown and no entries are removed from the cache.- Specified by:
scrobblein interfaceScrobbleCache- Parameters:
scrobbler- AScrobblerinstance- Throws:
IOException- on I/O errors
-
clearScrobbleCache
public void clearScrobbleCache()Description copied from interface:ScrobbleCacheClears all cached scrobbles from this cache.- Specified by:
clearScrobbleCachein interfaceScrobbleCache
-