QBS
>> Suplementy i dokumentacja techniczna
>> Parametry w Q-Line 3000
Struktura danych
Parametry są pamiętane w dwóch drzewach (rekordach)
- GLOBAL - grupujące wszystkie parametry wspólne dla całej aplikacji
- USERS - zawierające poddrzewa parametrów poszczególnych użytkowników
W drzewie GLOBAL są umieszczone m.in. ustawienia LabelsArrangera, Filtersarrangera
oraz systemowych tabel o zasiegu globalnym.
W drzewie USERS rekord parametrów każdego użytkownika jest znakowany jego loginem. Poddrzewa zawierają m.in. ustawienia browserów i systemowe tabele lokalne.
Struktura na dalszych poziomach obu drzew zależy już od wykorzystania mechanizmu przez aplikację.
Oba drzewa sa niejawne. Użytkownik ma dostęp do parametru poczynając od ich poziomu. Możliwy jest dostęp do dowolnego węzła (poddrzewa) bez zaczytywania zawierającego go drzewa. Ściezka do parametru jest podawana zgodnie z notacją kropkową.
Węzeł wewnętrzny może być typu: ReadOnlyRecord lub ReadOnlyArray.
Liście może być typu: Integer, Double, String. Może też symbolizować wartość null.
Używanie mechanizmu
Podstawowe operacje na parametrach:
- put() - zapisanie obiektu zgodnie z podana ścieżka (musi istnieć cała z dokładnością do ostatniego członu), parametry o tych samych nazwach są nadpisywane przy operacji
- get() - pobranie parametru zgodnie z podaną ścieżką
- putParam() - zapisanie rekordu zgodnie z podaną ścieżką (interfejs starej biblioteki)
- getParam() - pobranie rekordu zgodnie z podaną ścieżką (interfejs starej biblioteki)
- putSystemRecord() - zapisanie tabeli systemowej
- getSystemRecord() - pobranie tabeli systemowej
Przy powyższych operacjach można zdecydować, do jakiego poddrzewa ma trafić dany parametr.
Precyzuje się to pomocą parametru local:
- false - zapisanie do parametrów globalnych (domyślnie)
- true - zapisanie do parametrów lokalnych aktualnie zalogowanego użytkownika
W przypadku tabel systemowych lokalność można wymusić na poziomie pliku konfiguracyjnego definiując parametr tabeli LOCALPARAMS=TRUE,
domyślnie ma on wartość FALSE.
Niejawnie nazwy tabel są poprzedzane przedrostkiem "Sys_" przed ich zapisem do drzewa.
Dostęp do tabel systemowych powinien się odbywać jedynie przez powyższy interfejs, gdyż zapewnia on tłumaczenie pól według zadeklarowanych dla nich konwerterów.
Ograniczenia mechanizmu
- maksymalna wysokość drzewa parametrów globalnych wynosi 19, parametrów użytkownika 18
- maksymalna ilość unikalnych nazw parametrów (2**126-1000)
- maksymalna ilość pól dowolnej tablicy wynosci 1000