room library
Sixplace's Room-inspired SQLite persistence layer.
SPRoom follows the Database / Entity / DAO / Migration / Transaction model familiar from AndroidX Room in Kotlin Android projects while using the sqflite ecosystem underneath.
Design acknowledgement: special thanks to the AndroidX Room team for the persistence architecture that inspired this API, and to the sqflite maintainers/contributors for the Flutter/Dart SQLite foundation used by SPRoom.
Classes
- SPRoom
- Entry point for creating Room-style sqflite databases.
- SPRoomCallback
- Lifecycle callback for an SPRoom database.
- SPRoomColumn
- Declarative column metadata for an SPRoomEntitySchema.
-
SPRoomDao<
T> - Generic DAO with Room-style CRUD, raw queries, transactions and streams.
- SPRoomDatabase
- Base class for an application SPRoom database.
-
SPRoomDatabaseBuilder<
T extends SPRoomDatabase> - Builder for an SPRoomDatabase.
-
SPRoomEntityAdapter<
T> - Converts a Dart entity to/from rows for a specific table.
- SPRoomEntitySchema
- Describes one SQLite table managed by SPRoom.
- SPRoomExecutor
- Thin public wrapper around a sqflite database/transaction executor.
- SPRoomForeignKey
- Declarative foreign-key metadata.
- SPRoomIndex
- Declarative SQLite index metadata.
- SPRoomInvalidationTracker
- Broadcast invalidation tracker used by reactive DAO queries.
- SPRoomMigration
- A migration from startVersion to endVersion.
-
SPRoomTypeConverter<
T, D> - Converts custom application types into values accepted by sqflite.
Enums
- SPRoomConflictStrategy
- Conflict strategy for insert/update operations.
- SPRoomForeignKeyAction
- Foreign-key action supported by SQLite.
- SPRoomSqlType
- SQLite storage class used by SPRoomColumn.
Exceptions / Errors
- SPRoomException
- Base exception for SPRoom failures caused by schema/configuration problems.
- SPRoomMissingMigrationException
- Indicates that no registered migration can reach the target version.
- SPRoomSchemaException
- Indicates an invalid or mismatched entity/database schema.