RemoteAdapter<T extends DatumEntity> class
abstract
Remote storage adapter abstraction for cloud data sources.
Constructors
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, ) → 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