Core Modell (Class Overlay)
Das Core-Modell beinhaltet alle Klassen, ValueLists, Eigenschaften und Relationen die in einem Modell vorhanden sind. Dieses kann ebenfalls über die XML Schnittstelle erweitert werden.
Nach Änderungen am Core-Modell muss die Applikation neu gestartet werden und die Schema-Migration muss aktiviert sein. Ist die Schema-Migration nicht aktiviert müssen die Elemente manuell zur Datenbank hinzugefügt werden damit diese benutzt werden können.
Eine zusätzliche Klasse kann mit folgendem XML hinzugefügt werden:
<metaClass name="ExtensionClass" pluralName="ExtensionClasses">
<caption de="Meine Klasse" />
<property name="Name" dataType="Text" size="100" />
<relation name="Relation" targetClass="Person" cardinality="OneToMany">
<caption de="Zugewiesene Personen" />
</relation>
</metaClass>
Auf dem Top-Level werden drei verschiedene Typen unterstützt:
metaClass
eine Standard-Entität welche Eigenschaften und Relationen besitzt.valueList
fixe Liste von Werten (z.B. Rechnungsstatus: Offen, Bezahlt, Überfällig)module
eine Sammlung vonvalueList
undmetaClass
. Kann benutzt werden um zusammengehörige Klassen/ValueLists zusammenzuhalten.
Die metaClass
beinhaltet die folgenden möglichen Sub-Elemente:
property
eine normale Eigenschafte. Diese muss im Minimum einen Typ und Namen beinhalten.
Standardmässig wird diese auf der Datenbank gespeichert.calculatedProperty
eine berechnete Eigenschaft. Diese benötigt zusätzlich einevalueExpression
welche benutzt wird um den aktuellen Wert zu berechnen.relation
eine Beziehung zu einer anderen Tabelle. Dabei muss das Ziel und die entsprechende Kardinalität angegeben werden. Es wird automatisch eine Rück-Relation von der Zielklasse erstellt.virtualRelation
eine virtuelle Relation welche keinen physischen Fremdschlüssel erzeugt und mit einem zusätzlichen Filter definiert werden muss um das Resultat der Relation zu berechnen.
Die valueList
beinhaltet fixe Werte welche statisch zur Verfügung stehen.
<valueList name="MyValueList" dataType="SmallInteger">
<value name="MyValue1" value="1">
<caption de="Mein Wert" />
</value>
<value name="MyValue2" value="2">
<caption de="Mein zweiter Wert" />
</value>
</valueList>
Diese fixe Aufzählung kann auch auf der Datenbank gespeichert werden um die referentielle Integrität zu gewährleisten. Das value
Element definiert die zur Verfügung stehenden Werte.
Einige Standard Elemente stehen bei diversen Elementen zur Verfügung. Darunter folgende:
caption
die Caption eines Element. Die unterstützten Sprachen werden als Attribute definiert:<caption de="Deutsch" en="English" />
description
die Beschreibung für ein Element - die Definition ist analog dercaption
.instruction
die Instruktion für ein Element - die Definition ist analog dercaption
.control
das Standard-Control welches für dieproperty/relation
verwendet wird.transient
bei verschiedenen Elementen kann definiert werden ob diese auf der Datenbank gespeichert werden sollen oder eine reine In-Memory Repräsentation ausreicht.
Der Standard-Editor im ECUI bietet auch auto-complete für die zur Verfügung stehenden Elemente: