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();
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. -
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.
-
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.
-
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.
-
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