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
oldVersionof 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