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.