Tworzenie kolekcji obiektów
Na stronie Obiektowy model konfiguracji wyróżniono 3 klasy opisujące kolekcje obiektów: ListDefinition
, SetDefinition
oraz MapDefinition
. Każda z nich implementuje metodę createInstance
z interfejsu IComponentDefinition
. W przypadku kolekcji metoda ta poza utworzeniem instancji kolekcji, jest odpowiedzialna za dodanie do niej obiektów opisanych w definicji. Zasada działania podobna jest dla wszystkich 3 klas, dlatego schemat działania metody zostanie przedstawiony na jednym przykładzie.
Rysunek: Diagram sekwencji tworzenia listy
Rysunek przedstawia proces tworzenia listy zdefiniowanej przez obiekt typu ListDefinition
. Po utworzeniu kolekcji (w tym przypadku listy), pobierane są kolejno wszystkie elementy mapy items
, która zawiera obiekty typu IValueProvider
oraz ich liczebność w kolekcji. Dla każdego obiektu IValueProvider
pobierane są obiekty docelowe według mechanizmu opisanego na stronie Interfejs IValueProvider. Liczba pobranych obiektów określona jest przez wartość przechowywaną w mapie items
skojarzoną z danym "dostawcą". Pobrane obiekty dodawane są do listy, która zwracana jest jako rezultat metody createInstance
.