Variablendefinition erweitert

Neben den Angaben des Namens, des Typs und der Tabelle aus der ein Attribut berechnet wird, gibt es weitere Möglichkeiten ein Attribut zu bestimmen. Hierfür stehen weitere Spalten zur Verfügung.

Die folgende Tabelle zeigt eine Übersicht aller Spalten.

Spalte Bedeutung
Name Der Name des Attributes
Type Der Attributtyp
Object Das Objekt zu dem das Attribut gehört
Function Eine Funktion aus der sich der Attributwert berechnet
Table Die Regeltabelle aus der sich der Attributwert berechnet
Enum Das Attribut ist ein Enum
Dummy Ein Dummy-wert, wenn das Attribut nicht berechenbar ist

Name

Der Name des Attributs. Der Name darf kein Leerzeichen und keine Sonderzeichen enthalten. Ausnahme ist der Unterstrich.

Type

Hier wird der Datentyp des Attributes angegeben. Mögliche Typen sind: integer (Ganzzahl), string (Text), real (Gleitkommazahl), date (Datum), bool (Wahrheitswerte)

Object

Jedes Attribut gehört zur Klasse Rules. Ein Attribut kann auch zu einer andere Klasse gehören. Hierzu trägt man den Name der Klasse in die Spalte Object ein. Das Objekt wird in der Klasse Rules gespeichert.

private ObjName objName;
...
public ObjName getObjName() {
   
   return objName;
}

Folgt dem Objektnamen ein Stern (*), dann wird ein Array von Objekten an Rules gespeichert.

private ObjName[] objName;
...
public ObjName getObjName(int i) {
   if (objName == null) {
      objName = new ObjName[i + 1];
      for (int o = 0; o < i + 1; o++) {
         objName[o] = new ObjName(this,o);
      }
   } else if (i >= objName.length) {
      int l = objName.length;
      objName = Arrays.copyOf(objName, i + 1);
      for (int o = l; o < i + 1; o++) {
         objName[o] = new ObjName(this,o);
      }
   }
   return objName[i];
}

public int getObJNameSize() {
   if (objName == null) {
     return 0;
   }
   return objName.length;
}

Function

Siehe Funktionsbeschreibung

Table

Der Tabellenname der Regeltabelle durch den der Wert des Attributes berechnet wird.

Enum

Dummy

Diesen Wert liefert das Attribut, wenn es nicht berechnet werden kann. Hierdurch werden null Pointer vermieden.