objectbox library Null safety

ObjectBox for Dart is a standalone database storing Dart objects locally, with strong ACID semantics.

See the https://docs.objectbox.io/getting-started to get started.

Classes

Backlink annotation specifies a link in a reverse direction of another relation. [...]
Box<T>
A Box instance gives you access to objects of a particular type. You get Box instances via Store.box() or Box(Store). [...]
Condition<EntityT>
A Query condition base class.
Entity
Entity annotation is used on a class to let ObjectBox know it should store it - making the class a "persistable Entity". [...]
Id
Annotation Id can be used to specify an entity ID property if it's named anything else then "id" (case insensitive).
Index
Specifies that the property should be indexed. [...]
Order
Groups query order flags.
Property
Property annotation enables you to explicitly configure some details about how a field is stored in the database.
PropertyQuery<T>
Property query base.
Query<T>
A repeatable Query returning the latest matching Objects. [...]
QueryBuilder<T>
Query builder allows creating reusable queries.
Store
Represents an ObjectBox database and works together with Box to allow getting and putting.
Sync
ObjectBox Sync makes data available and synchronized across devices, online and offline. [...]
SyncChange
Sync incoming data event.
SyncClient
Sync client is used to connect to an ObjectBox sync server.
SyncCredentials
Credentials used to authenticate a sync client against a server.
ToMany<EntityT>
Manages a to-many relation, an unidirectional link from a "source" entity to multiple objects of a "target" entity. [...]
ToOne<EntityT>
Manages a to-one relation, an unidirectional link from a "source" entity to a "target" entity. The target object is referenced by its ID, which is persisted in the source object. [...]
Transient
Transient annotation marks fields that should not be stored in the database.
Unique
Unique annotation forces that the value of a property is unique among all objects stored for the given entity. [...]
Version
Wrapper for a semantic version information.

Extensions

DoublePropertyQuery
"Property query" for a double field. Created by Query.property().
IntegerPropertyQuery
"Property query" for an integer field. Created by Query.property().
ObservableStore
StreamController implementation inspired by the sample controller sample at: https://dart.dev/articles/libraries/creating-streams#honoring-the-pause-state https://dart.dev/articles/libraries/code/stream_controller.dart
StringPropertyQuery
"Property query" for a string field. Created by Query.property().

Enums

IndexType
IndexType can be used to change what type ObjectBox uses when indexing a property. [...]
PropertyType
Specify ObjectBox property storage type explicitly.
PutMode
Box put (write) mode.
SyncConnectionEvent
Connection state change event.
SyncLoginEvent
Login state change event.
SyncRequestUpdatesMode
Configuration of how SyncClient fetches remote updates from the server.
SyncState
Current state of the SyncClient.
TxMode
Configure transaction mode. Used with Store.runInTransaction().

Exceptions / Errors

ObjectBoxException
ObjectBox database exception.
UniqueViolationException
A unique constraint would have been violated by this database operation.