Concretization

@Entity
class Concretization(var dataID: Long? = null, val attributeInstance: AttributeInstance? = null, var node: Node? = null)

The Concretization binds an AttributeInstance to an Attribute. Hereby, the Concretization class adds as a proxy to hold the AttributeInstance in the Model facet (because AttributeInstances would normally live in the Instance facet). From an Instance view, the AttributeInstance contains an immutable value that predefines an Attribute.

In consequence, the modicio metamodel receives multilevel model properties. See gradual concretization in multilevel modelling for more information.

Constructors

Link copied to clipboard
constructor()
constructor(dataID: Long? = null, attributeInstance: AttributeInstance? = null, node: Node? = null)

Properties

Link copied to clipboard

Forward reference to the AttributeInstance containing a concrete value. It must be assured that an Attribute is only concreted once in the meta hierarchy (parent relation trace). It must also be checked that teh Attribute still exists after a model refactoring. In this case, the AttributeInstance may become invalid.

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
var node: Node?

Backlink for faster traversal.

Functions

Link copied to clipboard