Model API

Overview

The Model API (model-api) is a Kotlin component which provides a metamodel independent model API. This API is the shared basis and used across all modelix components.

The model-api provides three distinct parts

  1. org.modelix.model.api: The untyped API to provide model access

  2. org.modelix.model.data: Data classes for (meta-)model serialization

  3. org.modelix.model.area: Model grouping and transactional access

1. org.modelix.model.api

The following diagram provides a meta-model of the model-api

model api.api

An untyped access to model content is possible when only using the model-api. In case you want to use domain-specific model access (i.e. typed access), the model-api-gen provides a generator which generates a typed model API from your existing meta-model. This generated API specializes the model-api.

2.org.modelix.model.data

Additionally, the model-api provides serializable data classes to represent a meta-model. The following diagrams show a class diagram of the data classes for the model and meta-model.

model api.data.model
model api.data.metamodel