Rôles listes (tech)
Introduction
Un rôle liste est une association bidirectionnelle entre deux clases de multiplicité 0..1 dans un sens et 0..* dans l'autre.
Utilisation
- Accès
Les rôles listes ont une propriété Refs[index] permettant d'accéder aux objets contenus dans le rôle :
var idx:Integer;
begin
for idx:=0 to instA.ClassBList.Count-1 do
begin
instB := instA.ClassBList.Refs[idx];
...
end;
end;
ils disposent aussi d'une propriété par défaut en lecture seule :
var idx:Integer;
begin
for idx:=0 to instA.ClassBList.Count-1 do
begin
instB := instA.ClassBList[idx];
...
end;
end;
- Ajout d'objets dans la liste :
Différentes manièrs d'ajouter un objet à un rôle liste :
begin
instA.ClassBList.AdDRef(instB);
instA.ClassBList.AddOID(instB.InstanceOID);
...
end;
L'affectation du rôle réciproque ajoute aussi l'objet dans le rôle :
begin
// Ajoute l'objet instB dans le rôle instA.ClassBList
instB.ClassARef := instA;
...
end;