IVersioned class
Interface for data objects that can be versioned.
Versioning is often used as optimistic concurrency mechanism.
The version doesn't have to be a number, but it is recommended to use sequential values to determine if one object has newer or older version than another one.
It is a common pattern to use the time of change as the object version.
Example
class MyData implements IStringIdentifiable, IVersioned {
String id;
String field1;
int field2;
String version;
...
}
void updateData(String correlationId, MyData item ) {
...
if (item.version < oldItem.version) {
throw ConcurrencyException(null, 'VERSION_CONFLICT', 'The change has older version stored value');
}
...
}
Constructors
Properties
- version ↔ String
-
The object's version.
read / write
- hashCode → int
-
The hash code for this object. [...]
read-only, inherited
- runtimeType → Type
-
A representation of the runtime type of the object.
read-only, inherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a non-existent method or property is accessed. [...]
inherited
-
toString(
) → String -
Returns a string representation of this object.
inherited
Operators
-
operator ==(
dynamic other) → bool -
The equality operator. [...]
inherited