Class VERSIONED_OBJECT

Version control abstraction, defining semantics for versioning one complex
object.

Declaration :

Directly inherited by : VERSIONED_COMPOSITION

Artifact : VERSIONED_OBJECT

Attribut uid

Unique identifier of this version container. This id will be the same in all
instances of the same container in a distributed environment, meaning that it
can be understood as the uid of the virtual version tree .

Declaration :

Attribut owner_id

Reference to object to which this version container belongs, e.g. the id of
the containing EHR or other relevant owning entity.

Declaration :

Attribut time_created

Time of initial creation of this versioned object.

Declaration :

Operation version_count

Return the total number of versions in this object.

Declaration :

Operation all_version_ids

Return a list of ids of all versions in this object.

Declaration :

Operation all_versions

Return a list of all versions in this object.

Declaration :

Operation has_version_at_time

True if a version for time a_time' exists.

Declaration :

Operation has_version_id

True if a version with an_id exists.

Declaration :

Operation version_with_id

Return the version with id = a_ver_id'.

Declaration :

Operation is_original_version

True if version with an_id is an ORIGINAL_VERSION.

Declaration :

Operation version_at_time

Return the version for time a_time'.

Declaration :

Operation revision_history

History of all audits and attestations in this versioned repository.

Declaration :

Operation latest_version

Return the most recently added version (i.e. on trunk or any branch).

Declaration :

Operation latest_trunk_version

Return the most recently added trunk version.

Declaration :

Operation trunk_lifecycle_state

Return the lifecycle state from the latest trunk version. Useful for determining
if the version container is logically deleted.

Declaration :

Operation commit_original_version

Add a new original version.

Declaration :

Operation commit_original_merged_version

Add a new original merged version. This commit function adds a parameter
containing the ids of other versions merged into the current one.

Declaration :

Operation commit_imported_version

Add a new imported version. Details of version id etc come from the
ORIGINAL_VERSION being committed.

Declaration :

Operation commit_attestation

Add a new attestation to a specified original version. Attestations can only be
added to Original versions.

Declaration :

All public operations : all_version_ids , all_versions , commit_attestation , commit_imported_version , commit_original_merged_version , commit_original_version , has_version_at_time , has_version_id , is_original_version , latest_trunk_version , latest_version , revision_history , trunk_lifecycle_state , version_at_time , version_count , version_with_id