INFO
Sylabus
Standard ODMG, część 7
1. Założenia wiązania do Java
2. Sposoby deklarowania klas z obiektami trwałymi
3. Model obiektowy ODMG w Java
4. Java ODL
5. Java OML
6. Kolekcje
7. Kolekcja Set
8. Transakcje
9. Java OQL
10. Przykład Java OQL
11. Brak niezgodności impedancji?
12. Podsumowanie
Skorowidz
Wyście:
Wyklad XIII. Wprowadzenie do standardu ODMG, część 7:
Wiązanie do Java (KURS SSR)
I II III IV V VI VII VIII IX X XI XII XIII XIV
« poprzedni punkt   następny punkt »

5. Java OML

Java OML (Object Manipulation Language) zawiera operacje do tworzenia obiektów, zmieniania wartości ich pól, oraz ich usuwania i identyfikacji. Daje też możliwość wywoływania metod. Przyjmuje się jako zasadę, że nie ma różnic w stosowaniu tych operacji do trwałych i ulotnych obiektów. Ponadto, pojedyncze wyrażenie może kombinować referencje do trwałych i ulotnych obiektów.

ODMG wprowadza odstępstwa od zasady trwałości poprzez osiągalność. Wystąpienia klas, które nie są zdolne do trwałości, nigdy nie są trwałe, nawet jeżeli prowadzi do nich referencja z trwałego obiektu. W ramach trwałego obiektu można utworzyć nietrwały atrybut. Np.klasa Osoba może mieć nietrwały atrybut referencyjny bieżąceUwagi:

public class Osoba { 
        public String nazwisko; 
        transient TypPewnegoObiektuUlotnego bieżąceUwagi; 
...} 

Atrybut bieżąceUwagi nie będzie zapamiętywany w bazie danych.

Podane reguły dotyczące trwałości są odbierane jako niekonsekwencja standardu lub plątanina pojęć.

(2kB) Wiązanie do Java nie zakłada istnienia operacji usuwania obiektów. Obiekt przestaje istnieć w momencie, gdy nie posiada nazwy i nie prowadzi do niego żadna referencja z (osiągalnego) trwałego obiektu. Nieosiągalny obiekt jest automatycznie usuwany.
(2kB) Modyfikacje obiektów są widoczne w bazie danych dopiero po potwierdzeniu transakcji, w ramach której te modyfikacje się odbywają.
(2kB) Programy aplikacyjne używają nazw obiektów celem odwołania się do tzw. obiektów-korzeni (root objects), od których można rozpocząć nawigację w „pajęczynie” obiektów składających się na obiektową bazę danych. Nazwy obiektów bazy danych tworzą pojedynczą, płaską przestrzeń. Wszystkie nazwy w bazie danych są unikalne. Nazwa obiektu nie jest dostępna jako jego atrybut
(2kB) Standard nie mówi nic o tym, czy atrybuty i związki również posiadają nazwy. W odróżnieniu od nazw obiektów, nazwy te są traktowane (prawdopodobnie) jako byty drugiej kategorii programistycznej, tj. istnieją wyłącznie w tekście programu.
(2kB) Atrybuty i związki są dostępne poprzez standardową składnię Java; obydwie kategorie są odwzorowane w Java jako zmienne polowe (field variables).
(2kB) Operacje są zdefiniowane w Java OML jako metody w Java. Operacje na obiektach ulotnych i trwałych zachowują się identycznie i mają identyczną pragmatykę użycia.


« poprzedni punkt   następny punkt »