Rôles d'association
Introduction
Un rôle d'association est une association bidirectionnelle entre deux clases de multiplicité 0..* dans un sens et 0..* dans l'autre.
{{#images:role-association.png|dsm/roles}}
Un rôle d'association utilise une classe d'association pour maintenir les couples d'objets associés.
Utilisation
- Accès
Les rôles d'associations ont une propriété Refs[index] permettant d'accéder aux objets associés :
<source lang='delphi'> var idx:Integer; begin
for idx:=0 to instA.ClassBList.Count-1 do begin instB := instA.ClassBList.Refs[idx]; ... end;
end; </source>
ils disposent aussi d'une propriété par défaut en lecture seule :
<source lang='delphi'> var idx:Integer; begin
for idx:=0 to instA.ClassBList.Count-1 do begin instB := instA.ClassBList[idx]; ... end;
end; </source>
L'accès aux objets de la classe d'association se fait à travers une fonction AssInstance dont le paramètre est l'identifiant de l'objet associé :
<source lang='delphi'> var idx:Integer; begin
for idx:=0 to instA.ClassBList.Count-1 do begin instAB := instA.ClassBList.AssInstance(instB.ClassBList[idx].InstanceOID); ... end;
end; </source>
- Ajout d'objets dans l'associaton
Différentes manièrs d'ajouter un objet à un rôle liste :
<source lang='delphi'> begin
instA.ClassBList.AdDRef(instA); instA.ClassBList.AddOID(instA.InstanceOID); ...
end; </source>
{{#if:Rôles (tech)|
{{#if:Rôles (tech)|— Rôles (tech) |}} — Développement DSM —
|
{{#if:|— [[{{{1}}}]] |}} — Développement DSM —
}}