Returns all (un-resolved) concurrent versions.
Returns all (un-resolved) concurrent versions.
Returns true
if there is more than one version available i.e.
Returns true
if there is more than one version available i.e. if there are multiple
concurrent (= conflicting) versions.
Java API.
Java API.
Returns all (un-resolved) concurrent versions.
Owner of versioned values.
Owner of versioned values.
Resolves multiple concurrent versions to a single version.
Resolves multiple concurrent versions to a single version. For the resolution to be
successful, one of the concurrent versions must have a creationTimestamp
that is equal to
selectedTimestamp
. Only those concurrent versions with a creationTimestamp
less than the
updateTimestamp
participate in the resolution process (which allows for resolutions to
be concurrent to other updates).
Experimental ...
Experimental ...
Updates that Versioned value with b
that is a predecessor of updateTimestamp
.
Updates that Versioned value with b
that is a predecessor of updateTimestamp
. If
there is no such predecessor, a new concurrent version is created (optionally derived
from an older entry in the version history, in case of incremental updates).
Updates the owner.
Updates the owner.
A ConcurrentVersions implementation that shall be used if updates are incremental.
ConcurrentVersionsTree
is a mutable data structure. Therefore, it is recommended not to share instances ofConcurrentVersionsTree
directly but rather the Versioned sequence returned by ConcurrentVersionsTree#all. Later releases will be based on an immutable data structure.Please note: This implementation does not purge old versions at the moment (which shouldn't be a problem if the number of incremental updates to a versioned aggregate is rather small). In later releases, manual and automated purging of old versions will be supported.