Skip to content

Commit ccb6232

Browse files
committed
docs: add initial model-api doc
1 parent 3bfa058 commit ccb6232

File tree

5 files changed

+46
-0
lines changed

5 files changed

+46
-0
lines changed
165 KB
Loading
165 KB
Loading
97.5 KB
Loading
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
= Model API
2+
:navtitle: `model-api`
3+
4+
5+
:tip-caption: 🔗 Quick Links
6+
[TIP]
7+
--
8+
https://api.modelix.org/2.3.0/model-api/index.html[API doc^] | https://github.com/modelix/modelix.core[Repository^] | Artifacts: https://artifacts.itemis.cloud/service/rest/repository/browse/maven-mps/org/modelix/model-api/[Nexus^] https://github.com/modelix/modelix.core/packages/1834768[GitHub Packages^]
9+
--
10+
11+
== Overview
12+
13+
The *Model API* (`model-api`) is a Kotlin component which provides a metamodel independent model API.
14+
This API is the shared basis and used across all modelix components.
15+
16+
17+
The `model-api` provides three distinct parts
18+
19+
1. `org.modelix.model.api`: The untyped API to provide model access
20+
2. `org.modelix.model.data`: Data classes for (meta-)model serialization
21+
3. `org.modelix.model.area`: Model grouping and transactional access
22+
23+
24+
=== `org.modelix.model.api`
25+
26+
The following diagram provides a meta-model of the `model-api`
27+
28+
image::model-api.api.png[]
29+
30+
Using the `model-api` an **untyped** access to model content is always possible.
31+
In case you want to use domain-specific model access, the xref:core:reference/component-model-api-gen.adoc[model-api-gen] provides a generator which generates a typed model API specializes the API provided by the `model-api`.
32+
33+
34+
=== `org.modelix.model.data`
35+
36+
Additionally, the `model-api` provides serializable data classes to represent a meta-model.
37+
The following diagrams show a class diagram of the data classes for the model and meta-model.
38+
39+
image::model-api.data.model.png[]
40+
41+
image::model-api.data.metamodel.png[]
42+
43+
44+
//=== === `org.modelix.model.area`
45+
//TODO

docs/global/modules/core/partials/nav-reference.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
* xref:core:reference/component-model-api.adoc[]
12
* xref:core:reference/component-model-server.adoc[]
23
* xref:core:reference/component-metamodel-export.adoc[]
34
* xref:core:reference/component-model-api-gen.adoc[]

0 commit comments

Comments
 (0)