CrdtDataRow class abstract

CRDT data rows table.

This table stores the data for all tables that are registered for CRDT synchronization. It is used to interact with the CRDT data.

The row is also the HLC timestamp for when it was inserted. This is used to avoid creating one entry per field until a field is updated.

Inheritance
Implemented types
Available extensions

Constructors

CrdtDataRow({int? id, required DateTime hlcDatetime, required int hlcCounter, required int spaceId, OfflineSyncSpace? space, required int tblId, CrdtSchemaTable? tbl, required UuidValue uuidRowId, required int nodeId, CrdtNode? node, CrdtDataRowVisibility? visibility, CrdtDataDeleted? deleted, List<CrdtDataField>? fields})
factory
CrdtDataRow.fromJson(Map<String, dynamic> jsonSerialization)
factory

Properties

deleted ↔ CrdtDataDeleted?
The synced user tombstone for this row.
getter/setter pair
fields ↔ List<CrdtDataField>?
The fields for this row.
getter/setter pair
hashCode → int
The hash code for this object.
no setterinherited
hlc → Hlc

Available on CrdtDataRow, provided by the CrdtDataRowExtension extension

The HLC represented by this row.
no setter
hlcCounter ↔ int
The counter component of the HLC timestamp.
getter/setter pairinherited
hlcDatetime ↔ DateTime
The datetime component of the HLC timestamp.
getter/setter pairinherited
id ↔ int?
The id column of the row. Can be null if this row is not yet stored in the database.
getter/setter pair
isHidden → bool

Available on CrdtDataRow, provided by the CrdtDataRowExtension extension

Whether this row is currently hidden from domain queries.
no setter
node ↔ CrdtNode?
The node that inserted the row with the HLC timestamp.
getter/setter pair
nodeId ↔ int
getter/setter pair
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
space ↔ OfflineSyncSpace?
Identifier for the space that owns the data.
getter/setter pair
spaceId ↔ int
getter/setter pair
table → Table<int?>
The table that this row belongs to.
no setter
tbl ↔ CrdtSchemaTable?
Reference to the table this row belongs to.
getter/setter pair
tblId ↔ int
getter/setter pair
uuidRowId ↔ UuidValue
Row identifier.
getter/setter pair
visibility ↔ CrdtDataRowVisibility
Materialized visibility state for domain queries.
getter/setter pair

Methods

copyWith({int? id, DateTime? hlcDatetime, int? hlcCounter, int? spaceId, OfflineSyncSpace? space, int? tblId, CrdtSchemaTable? tbl, UuidValue? uuidRowId, int? nodeId, CrdtNode? node, CrdtDataRowVisibility? visibility, CrdtDataDeleted? deleted, List<CrdtDataField>? fields}) → CrdtDataRow
Returns a shallow copy of this CrdtDataRow with some or all fields replaced by the given arguments.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toHlcForNode(UuidValue nodeId) → Hlc

Available on BaseHlc, provided by the BaseHlcToHlc extension

Converts the BaseHlc to an Hlc with the given nodeId.
toJson() → Map<String, dynamic>
Returns a serialized JSON structure of the model which also includes fields used by the database.
override
toJsonForProtocol() → Map<String, dynamic>
Returns a JSON structure of the model, optimized for Protocol communication.
override
toString() → String
A string representation of this object.
override

Operators

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

Static Properties

t → CrdtDataRowTable
final

Static Methods

include({OfflineSyncSpaceInclude? space, CrdtSchemaTableInclude? tbl, CrdtNodeInclude? node, CrdtDataDeletedInclude? deleted, CrdtDataFieldIncludeList? fields}) → CrdtDataRowInclude
includeList({WhereExpressionBuilder<CrdtDataRowTable>? where, int? limit, int? offset, OrderByBuilder<CrdtDataRowTable>? orderBy, OrderByListBuilder<CrdtDataRowTable>? orderByList, CrdtDataRowInclude? include}) → CrdtDataRowIncludeList

Constants

db → const CrdtDataRowRepository