Association-Roles

Die eigentliche Essenz von Associations sind die sog. Association-Roles. Sie verbinden einzelne Topics miteinander. Grundsätzlich können verschiedene Topics eine bestimmte Association-Role innerhalb einer Association spielen.

Um eine neue Association-Role anzulegen bietet das Association-Interface die Funktion createAssociationRole an. Als Argumente erwartet diese Funktion an erster Stelle eine Topic die die Role annimmt, den sog. Role-Player, und an zweiter Stelle ein Topic das den Type definiert. Im nächsten Beispiel soll zunächst eine Association-Role ohne Definition des Association-Role-Types erstellt werden.

// Player der Association-Role
Topic thuringa = tm.createTopic();

// Association-Role ohne Type anlegen
AssociationRole assRole1 = ass.createAssociationRole(thuringa, null);

Zunächst wird dazu eine Topic angelegt, die in der Association eine Role spielen soll angelegt. Mit dem Aufruf der Funktion createAssociationRole wird die neue Association-Role erstellt.

Bei der Erstellung der Role kann der Association-Role-Type gleich mit angegeben werden. Dazu wird einfach das zweite Argument direkt mit Übergeben. Im folgenden Beispiel wird eine zweite Association-Role vom Type city erstellt.

// Player der Association-Role
Topic ilmenau = tm.createTopic();

// Type der Association-Role
Topic city = tm.createTopic();

// Association-Role erstellen
AssociationRole assRole2 = ass.createAssociationRole(ilmenau, city);

Neben dem eigentlichen Association-Role-Player wird beim Aufruf der Funktion noch der Association-Role-Type angegeben. Der Role-Type kann auch nachträglich noch hinzugefügt oder wieder entfernt werden. Der nächste Abschnitt beschreibt dieses Vorgehen.

Leave a Reply