RemoteAdapter<T extends DatumEntity> class abstract

Remote storage adapter abstraction for cloud data sources.

Constructors

RemoteAdapter()

Properties

changeStream Stream<DatumChangeDetail<T>>?
Stream of changes that occur in the remote data source. Return null if the adapter doesn't support real-time change notifications.
no setter
hashCode int
The hash code for this object.
no setterinherited
name String
A descriptive name for the adapter (e.g., "Firebase", "REST").
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

checkHealth() Future<AdapterHealthStatus>
Checks the health of the remote adapter.
create(T entity) Future<void>
Create a new entity on the remote data source.
delete(String id, {String? userId}) Future<void>
Delete an entity from the remote data source.
dispose() Future<void>
Dispose of any resources used by the adapter (e.g., network connections).
fetchRelated<R extends DatumEntity>(RelationalDatumEntity parent, String relationName, RemoteAdapter<R> relatedAdapter) Future<List<R>>
Fetches related entities based on the relationship definitions from the remote source.
getSyncMetadata(String userId) Future<DatumSyncMetadata?>
Retrieve metadata describing the user's sync state from the remote.
initialize() Future<void>
Initializes the remote service (e.g., authenticates, sets up listeners).
isConnected() Future<bool>
Check if the remote data source is currently reachable.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
patch({required String id, required Map<String, dynamic> delta, String? userId}) Future<T>
Apply a partial update ("patch") to an existing entity.
query(DatumQuery query, {String? userId}) Future<List<T>>
Executes a one-time query against the remote data source.
read(String id, {String? userId}) Future<T?>
Fetch a single item by its ID.
readAll({String? userId, DatumSyncScope? scope}) Future<List<T>>
Fetch all items, optionally filtered by a scope.
toString() String
A string representation of this object.
inherited
update(T entity) Future<void>
Update an existing entity on the remote data source.
updateSyncMetadata(DatumSyncMetadata metadata, String userId) Future<void>
Persist updated sync state metadata to the remote.
watchAll({String? userId, DatumSyncScope? scope}) Stream<List<T>>?
Watch all items directly from the remote source. Return null if the adapter doesn't support reactive queries.
watchById(String id, {String? userId}) Stream<T?>?
Watch a single item by its ID directly from the remote source. Return null if the adapter doesn't support reactive queries.
watchQuery(DatumQuery query, {String? userId}) Stream<List<T>>?
Watch a subset of items matching a query directly from the remote source. Return null if the adapter doesn't support reactive queries.

Operators

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