DatumEntityInterface class abstract interface

Interface for all Datum entities, allowing both inheritance and mixin approaches.

Implementers

Properties

createdAt → DateTime
The timestamp of when this entity was first created.
no setter
hashCode → int
The hash code for this object.
no setterinherited
id → String
A unique identifier for the entity.
no setter
isDeleted → bool
A flag indicating if this entity has been locally marked for deletion.
no setter
isRelational → bool
Indicates whether this entity supports relationships.
no setter
modifiedAt → DateTime
The timestamp of the last time this entity was modified.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
userId → String
The ID of the user who owns or created this entity.
no setter
vectorClock → VectorClock?
A vector clock for tracking causality across multiple devices. If provided, this allows for more accurate conflict detection than simple version numbers.
no setter
version → int
A sequential integer used for optimistic concurrency and tracking changes.
no setter

Methods

diff(covariant DatumEntityInterface oldVersion) → Map<String, dynamic>?
Computes the difference between the current entity state and an oldVersion of the entity.
incrementClock(String replicaId) → DatumEntityInterface
Returns a new instance with the vector clock incremented for replicaId.
merge(covariant DatumEntityInterface other) → DatumEntityInterface
Merges this entity with other.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDatumMap({MapTarget target = MapTarget.local}) → Map<String, dynamic>
Converts the entity to a Map<String, dynamic> for persistence.
toString() → String
A string representation of this object.
inherited

Operators

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