objectbox library
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
- 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.
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().
Extensions
-
DoublePropertyQuery
on PropertyQuery<
double> - "Property query" for a double field. Created by Query.property().
-
IntegerPropertyQuery
on PropertyQuery<
int> - "Property query" for an integer field. Created by Query.property().
- ObservableStore on Store
- 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
on PropertyQuery<
String> - "Property query" for a string field. Created by Query.property().
Exceptions / Errors
- ObjectBoxException
- ObjectBox database exception.
- UniqueViolationException
- A unique constraint would have been violated by this database operation.