2.1 Definition benutzerdefinierter Attribute

Syntax

Skalare Attribute

<Datentyp> <Attributname> { := <Wert> } ;

Indizierte Attribute

<Datentyp> <Attributname> [ <integer-Wert> ] ;

shadow-Attribute

<Datentyp> <Attributname> shadows { instance }
    <Objekt> <Attribut> { [ <Index> ] } ;
<Datentyp>

Hier kann einer der im IDM verfügbaren Datentypen eingesetzt werden, z.B. integer, object, string, boolean

<Attributname>

Hier kann ein vom Benutzer frei gewählter Name für das Attribut eingesetzt werden. Dieser Name muss der DM-Namenskonvention für Identifikatoren entsprechen (Großbuchstaben am Anfang usw.).

Beispiel

  • Deklaration ohne Punkt:

    pushbutton MyButton
    {
      integer Position;
    }
  • Referenzierung mit Punkt:

    MyButton.Position := 1;
<Wert>

Wert, der dem vorne beschriebenen Datentyp entspricht.

<integer-Wert>

Zahl, die die Größe des Feldes definiert.

Mit dem Keyword shadows kann ein uneigentliches Attribut definiert werden. Dieses merkt sich seinen Wert nicht selbst, sondern greift (lesend und schreibend) auf das nachfolgend angegebene Objekt-Attribut zu. Wenn zusätzlich das Schlüsselwort instance verwendet wird, bedeutet das, dass bei der Instanziierung eines Modells der Verweis auf die neu generierte Instanz verändert werden soll und nicht beim Modell bleiben soll.

<Objekt>

Objekt, auf das das Attribut zugreift.

<Attribut>

Attribut des Objektes, auf das das Attribut zugreift.

<Index>

Angabe von Zeilen bzw. Spalten für Listenobjekte bzw. deren Attribute.

Beispiele