Annotation

@Entity
class Annotation(var dataID: Long? = null, var versionTime: Timestamp = Timestamp.from(Instant.MIN), var versionID: String = "", var variantTime: Timestamp = Timestamp.from(Instant.MIN), var variantID: String = "")

The Annotation model element is attached to every Node. An Annotation stores the identifiers in space (variant) and time (version) of each element.

  • the variant is like a branch and is updated for the whole connected model (or slice of it)

  • the version is updated per model element if the element itself or one of its managed children is edited.

Constructors

Link copied to clipboard
constructor()
constructor(dataID: Long? = null, versionTime: Timestamp = Timestamp.from(Instant.MIN), versionID: String = "", variantTime: Timestamp = Timestamp.from(Instant.MIN), variantID: String = "")

Properties

Link copied to clipboard
var dataID: Long?

Technical database (JPA) identifier used for relation joins. The dataID is system specific and not exported to XML. It must not be used to identify elements in distributed use-cases. It should not be used to identify elements from outside the service. All model elements provide other suitable identifiers to be used.

Link copied to clipboard

The variantID is a unique string identifier of the variant. This implementation uses random-based UUIDs. This guarantees (to a high probability) that each variant in a distributed system is uniquely identified. The pair of variantID and variantTime result in a sortable unique identifier.

Link copied to clipboard

The variantTime represents the creation point of the variant as UTC timestamp. This information is stored redundant in Fragment. However, the information stored here are the primary source of truth.

Link copied to clipboard

The versionID is a unique string identifier of the version. This implementation uses random-based UUIDs. This guarantees (to a high probability) that each version in a distributed system is uniquely identified. The pair of versionID and versionTime result in a sortable unique identifier. The versionID can safely be used as an access identifier, also in distributed use-cases.

Link copied to clipboard

The versionTime represents the creation point of the version as UTC timestamp. Together with versionID it forms the version (time) identifier per model element.

Functions

Link copied to clipboard