CacheManager class
Flutter Cache Manager Copyright (c) 2019 Rene Floor Released under MIT License. Basic cache manager implementation, which should be used as a single instance.
- Implemented types
Constructors
- CacheManager(Config config)
- Creates a new instance of a cache manager. This can be used to retrieve files from the cache or download them online. The http headers are used for the maximum age of the files. The BaseCacheManager should only be used in singleton patterns.
- CacheManager.custom(Config config, {CacheStore? cacheStore, WebHelper? webHelper})
Properties
- config → Config
-
Get the config
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- store → CacheStore
-
Get the underlying store helper
no setter
- webHelper → WebHelper
-
Get the underlying web helper
no setter
Methods
-
dispose(
) → Future< void> -
Closes the cache database
override
-
downloadFile(
String url, {String? key, Map< String, String> ? authHeaders, bool force = false}) → Future<FileInfo> -
Download the file and add to cache
override
-
emptyCache(
) → Future< void> -
Removes all files from the cache
override
-
getFile(
String url, {String? key, Map< String, String> ? headers}) → Stream<FileInfo> -
Get the file from the cache and/or online, depending on availability and age.
Downloaded form
url
,headers
can be used for example for authentication. The files are returned as stream. First the cached file if available, when the cached file is too old the newly downloaded file is returned afterwards.override -
getFileFromCache(
String key, {bool ignoreMemCache = false}) → Future< FileInfo?> -
Get the file from the cache.
Specify
ignoreMemCache
to force a re-read from the databaseoverride -
getFileFromMemory(
String key) → Future< FileInfo?> -
Returns the file from memory if it has already been fetched
override
-
getFileStream(
String url, {String? key, Map< String, String> ? headers, bool withProgress = false}) → Stream<FileResponse> -
Get the file from the cache and/or online, depending on availability and age.
Downloaded form
url
,headers
can be used for example for authentication. The files are returned as stream. First the cached file if available, when the cached file is too old the newly downloaded file is returned afterwards.override -
getSingleFile(
String url, {String? key, Map< String, String> ? headers}) → Future<File> -
Get the file from the cache and/or online, depending on availability and age.
Downloaded form
url
,headers
can be used for example for authentication. When a file is cached and up to date it is return directly, when the cached file is too old the file is downloaded and returned after download. When a cached file is not available the newly downloaded file is returned.override -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
putFile(
String url, Uint8List fileBytes, {String? key, String? eTag, Duration maxAge = const Duration(days: 30), String fileExtension = 'file'}) → Future< File> -
Put a file in the cache. It is recommended to specify the
eTag
and themaxAge
. WhenmaxAge
is passed and the eTag is not set the file will always be downloaded again. ThefileExtension
should be without a dot, for example "jpg". When cache info is available for the url that path is re-used. The returnedFile
is saved on disk.override -
putFileStream(
String url, Stream< List< source, {String? key, String? eTag, Duration maxAge = const Duration(days: 30), String fileExtension = 'file'}) → Future<int> >File> -
Put a byte stream in the cache. When using an existing file you can use
file.openRead(). It is recommended to specify the
eTag
and themaxAge
. WhenmaxAge
is passed and the eTag is not set the file will always be downloaded again. ThefileExtension
should be without a dot, for example "jpg". When cache info is available for the url that path is re-used. The returnedFile
is saved on disk.override -
removeFile(
String key) → Future< void> -
Remove a file from the cache
override
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Properties
- logLevel ↔ CacheManagerLogLevel
-
getter/setter pair