Box<E> class abstract

Boxes contain all of your data. In the browser, each box has its own IndexedDB database. On all other platforms, each Box is stored in a separate file in the Hive home directory.

Write operations are asynchronous but the new values are immediately available. The returned Future finishes when the change is written to the backend. If this operation fails, the changes are being reverted.

Read operations for normal boxes are synchronous (the entries are in memory). Lazy boxes have asynchronous read operations.

Implemented types
Available extensions

Constructors

Box()

Properties

hashCode int
The hash code for this object.
no setterinherited
isEmpty bool
Returns true if there are no entries in this box.
no setterinherited
isNotEmpty bool
Returns true if there is at least one entries in this box.
no setterinherited
isOpen bool
Whether this box is currently open.
no setterinherited
keys Iterable
All the keys in the box.
no setterinherited
lazy bool
Whether this box is lazy or not.
no setterinherited
length int
The number of entries in the box.
no setterinherited
name String
The name of the box. Names are always lowercase.
no setterinherited
path String?
The location of the box in the file system. In the browser, this is null.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
values Iterable<E>
All the values in the box.
no setter

Methods

add(E value) Future<int>
Saves the value with an auto-increment key.
inherited
addAll(Iterable<E> values) Future<Iterable<int>>
Saves all the values with auto-increment keys.
inherited
clear() Future<int>
Removes all entries from the box.
inherited
close() Future<void>
Closes the box.
inherited
compact() Future<void>
Induces compaction manually. This is rarely needed. You should consider providing a custom compaction strategy instead.
inherited
containsKey(dynamic key) bool
Checks whether the box contains the key.
inherited
delete(dynamic key) Future<void>
Deletes the given key from the box.
inherited
deleteAll(Iterable keys) Future<void>
Deletes all the given keys from the box.
inherited
deleteAt(int index) Future<void>
Deletes the n-th key from the box.
inherited
deleteFromDisk() Future<void>
Removes the file which contains the box and closes the box.
inherited
flush() Future<void>
Flushes all pending changes of the box to disk.
inherited
get(dynamic key, {E? defaultValue}) → E?
Returns the value associated with the given key. If the key does not exist, null is returned.
getAt(int index) → E?
Returns the value associated with the n-th key.
keyAt(int index) → dynamic
Get the n-th key in the box.
inherited
listenable({List? keys}) ValueListenable<Box<T>>

Available on Box<T>, provided by the BoxX extension

Returns a ValueListenable which notifies its listeners when an entry in the box changes.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
put(dynamic key, E value) Future<void>
Saves the key - value pair.
inherited
putAll(Map<dynamic, E> entries) Future<void>
Saves all the key - value pairs in the entries map.
inherited
putAt(int index, E value) Future<void>
Associates the value with the n-th key. An exception is raised if the key does not exist.
inherited
toMap() Map<dynamic, E>
Returns a map which contains all key - value pairs of the box.
toString() String
A string representation of this object.
inherited
valuesBetween({dynamic startKey, dynamic endKey}) Iterable<E>
Returns an iterable which contains all values starting with the value associated with startKey (inclusive) to the value associated with endKey (inclusive).
watch({dynamic key}) Stream<BoxEvent>
Returns a broadcast stream of change events.
inherited

Operators

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