IsarCollection<OBJ> class abstract

Use IsarCollection instances to find, query, and create new objects of a given type in Isar.

You can get an instance of IsarCollection by calling isar.get<OBJ>() or by using the generated isar.yourCollections getter.

Constructors

IsarCollection()

Properties

hashCode → int
The hash code for this object.
no setterinherited
isar → Isar
The corresponding Isar instance.
no setter
name → String
The name of the collection.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
schema → CollectionSchema<OBJ>
Get the schema of the collection.
no setter

Methods

buildQuery<R>({List<WhereClause> whereClauses = const [], bool whereDistinct = false, Sort whereSort = Sort.asc, FilterOperation? filter, List<SortProperty> sortBy = const [], List<DistinctProperty> distinctBy = const [], int? offset, int? limit, String? property}) → Query<R>
Build a query dynamically for example to build a custom query language.
clear() → Future<void>
Remove all data in this collection and reset the auto increment value.
clearSync() → void
Remove all data in this collection and reset the auto increment value.
count() → Future<int>
Returns the total number of objects in this collection.
countSync() → int
Returns the total number of objects in this collection.
delete(Id id) → Future<bool>
Delete a single object by its id.
deleteAll(List<Id> ids) → Future<int>
Delete a list of objects by their ids.
deleteAllByIndex(String indexName, List<IndexKey> keys) → Future<int>
Delete a list of objects by the unique index indexName and keys.
deleteAllByIndexSync(String indexName, List<IndexKey> keys) → int
Delete a list of objects by the unique index indexName and keys.
deleteAllSync(List<Id> ids) → int
Delete a list of objects by their ids.
deleteByIndex(String indexName, IndexKey key) → Future<bool>
Delete a single object by the unique index indexName and key.
deleteByIndexSync(String indexName, IndexKey key) → bool
Delete a single object by the unique index indexName and key.
deleteSync(Id id) → bool
Delete a single object by its id.
filter() → QueryBuilder<OBJ, OBJ, QFilterCondition>
Start building a query using the QueryBuilder.
get(Id id) → Future<OBJ?>
Get a single object by its id or null if the object does not exist.
getAll(List<Id> ids) → Future<List<OBJ?>>
Get a list of objects by their ids or null if an object does not exist.
getAllByIndex(String indexName, List<IndexKey> keys) → Future<List<OBJ?>>
Get a list of objects by the unique index indexName and keys.
getAllByIndexSync(String indexName, List<IndexKey> keys) → List<OBJ?>
Get a list of objects by the unique index indexName and keys.
getAllSync(List<Id> ids) → List<OBJ?>
Get a list of objects by their ids or null if an object does not exist.
getByIndex(String indexName, IndexKey key) → Future<OBJ?>
Get a single object by the unique index indexName and key.
getByIndexSync(String indexName, IndexKey key) → OBJ?
Get a single object by the unique index indexName and key.
getSize({bool includeIndexes = false, bool includeLinks = false}) → Future<int>
Returns the size of the collection in bytes. Not supported on web.
getSizeSync({bool includeIndexes = false, bool includeLinks = false}) → int
Returns the size of the collection in bytes. Not supported on web.
getSync(Id id) → OBJ?
Get a single object by its id or null if the object does not exist.
importJson(List<Map<String, dynamic>> json) → Future<void>
Import a list of json objects.
importJsonRaw(Uint8List jsonBytes) → Future<void>
Import a list of json objects encoded as a byte array.
importJsonRawSync(Uint8List jsonBytes) → void
Import a list of json objects encoded as a byte array.
importJsonSync(List<Map<String, dynamic>> json) → void
Import a list of json objects.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
put(OBJ object) → Future<int>
Insert or update an object. Returns the id of the new or updated object.
putAll(List<OBJ> objects) → Future<List<Id>>
Insert or update a list of objects. Returns the list of ids of the new or updated objects.
putAllByIndex(String indexName, List<OBJ> objects) → Future<List<Id>>
Insert or update a list of objects by the unique index indexName. Returns the list of ids of the new or updated objects.
putAllByIndexSync(String indexName, List<OBJ> objects, {bool saveLinks = true}) → List<Id>
Insert or update a list of objects by the unique index indexName. Returns the list of ids of the new or updated objects.
putAllSync(List<OBJ> objects, {bool saveLinks = true}) → List<Id>
Insert or update a list of objects. Returns the list of ids of the new or updated objects.
putByIndex(String indexName, OBJ object) → Future<int>
Insert or update the object by the unique index indexName. Returns the id of the new or updated object.
putByIndexSync(String indexName, OBJ object, {bool saveLinks = true}) → Id
Insert or update the object by the unique index indexName. Returns the id of the new or updated object.
putSync(OBJ object, {bool saveLinks = true}) → Id
Insert or update an object. Returns the id of the new or updated object.
toString() → String
A string representation of this object.
inherited
verify(List<OBJ> objects) → Future<void>
Verifies the integrity of the collection and its indexes.
Verifies the integrity of a link.
watchLazy({bool fireImmediately = false}) → Stream<void>
Watch the collection for changes.
watchObject(Id id, {bool fireImmediately = false}) → Stream<OBJ?>
Watch the object with id for changes. If a change occurs, the new object will be returned in the stream.
watchObjectLazy(Id id, {bool fireImmediately = false}) → Stream<void>
Watch the object with id for changes.
where({bool distinct = false, Sort sort = Sort.asc}) → QueryBuilder<OBJ, OBJ, QWhere>
Start building a query using the QueryBuilder.

Operators

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