SembastPersistence<I> class

A persistence provider implementing Sembast-backed local document storage.

I is the type of the document ID.

Inheritance

Constructors

SembastPersistence({String databasePath = './', SembastCodec? codec, DatabaseFactory? databaseFactory})
Creates a new SembastPersistence with the specified databasePath, codec, and optional databaseFactory.

Properties

codec → SembastCodec?
Optional codec used for Sembast encryption or custom formats.
final
databasePath String
The local directory path where Sembast files will be stored.
final
ensureInitialized Future<void>
Released when initializedSuccessfully is called. If initializedWithError is called, throws the given exception.
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
isInitialized bool
Simply checks if the object is initialized at the moment.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
whenInitialized Stream<void>
Fired when initializedSuccessfully is called. If initializedWithError is called, the given exception is passed to the onError callback.
no setterinherited
whenUninitialized Stream<void>
Fired when markAsUninitialized is called.
no setterinherited

Methods

acquireWriteLock(Collection<I> collection, Duration timeout) Future<bool>
Lock writes on Sembast using an asynchronous transaction block.
override
dispose() Future<void>
Disposes resources, closing all active Sembast databases.
override
initializedSuccessfully() → void
Marks that the object has been initialized successfully.
inherited
initializedWithError({Object? error, String? message, StackTrace? stackTrace}) → void
Marks that the object was initialized with an error.
inherited
markAsUninitialized() → void
Marks that the object is again not initialized. After this, you can call initializedSuccessfully again.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onCollectionChanged(DataTransfer<I> change) Future<void>
Publishes changes to the persistence layer.
override
readAllData(Collection<I> collection) Future<void>
Loads all documents in the collection from Sembast.
override
readSchema(String databaseName, SchemaInfo schemaInfo) Future<SchemaInfo>
Loads the persisted database schema version from Sembast.
override
reinitialize(Future future(), {bool callInitializedWithErrorOnException = true}) Future
Allows to reinitialize the object with the call of the given future.
inherited
releaseWriteLock(Collection<I> collection) Future<void>
Releases the lock on Sembast.
override
toString() String
A string representation of this object.
inherited
writeAllData(Collection<I> collection) Future<void>
Overwrites the collection documents in Sembast.
override
writeSchema(String databaseName, SchemaInfo schemaInfo) Future<void>
Saves the database schema version to Sembast.
override

Operators

operator ==(Object other) bool
The equality operator.
inherited