Box<T> class

A Box instance gives you access to objects of a particular type. You get Box instances via Store.box() or Box(Store).

For example, if you have User and Order entities, you need two Box objects to interact with them:

Box<User> userBox = store.box();
Box<Order> orderBox = store.box();
Available extensions

Constructors

Box.new(Store store)
Create a box for an Entity.
factory

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

contains(int id) bool
Returns true if this box contains an Object with the ID id.
containsMany(List<int> ids) bool
Returns true if this box contains objects with all of the given ids.
count({int limit = 0}) int
Returns the count of all stored Objects in this box. If limit is not zero, stops counting at the given limit.
existsByFingerprint(String fingerprint) bool

Available on Box<SafeEntity>, provided by the SafeEntityExt extension

Check if a safe with the given mnemonic already exists This can be used to prevent duplicate safe creation
findAllByFingerprint(String fingerprint) List<SafeEntity>

Available on Box<SafeEntity>, provided by the SafeEntityExt extension

Get all safes that match a mnemonic fingerprint Normally this should return 0 or 1 safe, but this method can help detect duplicates
get(int id) → T?
Retrieves the stored object with the ID id from this box's database. Returns null if an object with the given ID doesn't exist.
getAll() List<T>
Returns all stored objects in this Box.
getAllAsync() Future<List<T>>
Like getAll, but runs the box operation asynchronously in a worker isolate.
getAsync(int id) Future<T?>
Like get, but runs the box operation asynchronously in a worker isolate.
getByFingerprint(String fingerprint) SafeEntity?

Available on Box<SafeEntity>, provided by the SafeEntityExt extension

Find a safe by its mnemonic fingerprint Returns null if no safe with the given fingerprint exists
getMany(List<int> ids, {bool growableResult = false}) List<T?>
Returns a list of Objects of type T, each located at the corresponding position of its ID in ids.
getManyAsync(List<int> ids, {bool growableResult = false}) Future<List<T?>>
Like getMany, but runs the box operation asynchronously in a worker isolate.
getNumber(int number) SafeEntity

Available on Box<SafeEntity>, provided by the SafeEntityExt extension

getValue(String key, {String? defaultValue}) String?

Available on Box<Config>, provided by the ConfigBoxExt extension

isEmpty() bool
Returns true if no objects are in this box.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
put(T object, {PutMode mode = PutMode.put}) int
Puts the given object and returns its (new) ID.
putAndGetAsync(T object, {PutMode mode = PutMode.put}) Future<T>
Like putAsync, but returns a copy of the object with the (new) ID set.
putAndGetManyAsync(List<T> objects, {PutMode mode = PutMode.put}) Future<List<T>>
Like putManyAsync, but returns a copy of the objects with new IDs assigned.
putAsync(T object, {PutMode mode = PutMode.put}) Future<int>
Like put, but runs in a worker isolate and does not modify the given object, e.g. to set a new ID.
putMany(List<T> objects, {PutMode mode = PutMode.put}) List<int>
Like put, but optimized to put many objects at once.
putManyAsync(List<T> objects, {PutMode mode = PutMode.put}) Future<List<int>>
Like putMany, but runs in a worker isolate and does not modify the given objects, e.g. to set an assigned ID.
putQueued(T object, {PutMode mode = PutMode.put}) int
Schedules the given object to be put later on, by an asynchronous queue.
putQueuedAwaitResult(T object, {PutMode mode = PutMode.put}) Future<int>
Like putQueued, but waits on the put to complete.
putValue(String key, String value) → void

Available on Box<Config>, provided by the ConfigBoxExt extension

query([Condition<T>? qc]) QueryBuilder<T>
Starts building a query which returns objects matching the supplied conditions.
remove(int id) bool
Removes (deletes) the object with the given id.
removeAll() int
Removes (deletes) all objects in this box. Returns the number of removed objects.
removeAllAsync() Future<int>
Like removeAll, but runs in a worker isolate.
removeAsync(int id) Future<bool>
Like remove, but runs in a worker isolate.
removeMany(List<int> ids) int
Removes (deletes) objects with the given ids if they exist. Returns the number of removed objects.
removeManyAsync(List<int> ids) Future<int>
Like removeMany, but runs in a worker isolate.
toString() String
A string representation of this object.
inherited

Operators

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