DefaultCacheManager class
The DefaultCacheManager that can be easily used directly. The code of this implementation can be used as inspiration for more complex cache managers.
- Inheritance
-
- Object
- CacheManager
- DefaultCacheManager
- Mixed-in types
Constructors
- DefaultCacheManager()
-
factory
Properties
- config → Config
-
Get the config
no setterinherited
- 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 setterinherited
- webHelper → WebHelper
-
Get the underlying web helper
no setterinherited
Methods
-
dispose(
) → Future< void> -
Closes the cache database
inherited
-
downloadFile(
String url, {String? key, Map< String, String> ? authHeaders, bool force = false}) → Future<FileInfo> -
Download the file and add to cache
inherited
-
emptyCache(
) → Future< void> -
Removes all files from the cache
inherited
-
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.inherited -
getFileFromCache(
String key, {bool ignoreMemCache = false}) → Future< FileInfo?> -
Get the file from the cache.
Specify
ignoreMemCache
to force a re-read from the databaseinherited -
getFileFromMemory(
String key) → Future< FileInfo?> -
Returns the file from memory if it has already been fetched
inherited
-
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.inherited -
getImageFile(
String url, {String? key, Map< String, String> ? headers, bool withProgress = false, int? maxHeight, int? maxWidth}) → Stream<FileResponse> -
Returns a resized image file to fit within maxHeight and maxWidth. It
tries to keep the aspect ratio. It stores the resized image by adding
the size to the key or url. For example when resizing
https://via.placeholder.com/150 to max width 100 and height 75 it will
store it with cacheKey resized_w100_h75_https://via.placeholder.com/150.
inherited
-
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.inherited -
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.inherited -
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.inherited -
removeFile(
String key) → Future< void> -
Remove a file from the cache
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited