They seem to make lots of good flash cms templates that has animation and sound.

[ Pobierz całość w formacie PDF ]

ne instancje stajÄ… si¹ ulotne. Po zatwierdzeniu instancji obiekty znajdujÄ…ce si¹ w stanie pustym
oraz zwykÅ‚e, ulotne obiekty j¹zyka Java pozostajÄ… pod kontrolÄ… instancji klasy
.
4.3.5. Transaction.rollback
Na skutek odwoÅ‚ania transakcji obiekty znajdujÄ…ce si¹ w stanie , lub
przechodzÄ… do stanu . PozostaÅ‚e obiekty stajÄ… si¹ ulotne. Obiekty, które znajdowaÅ‚y
si¹ w stanie lub powracajÄ… do swojego poprzedniego stanu.
4.3.6. PersistenceManager.refresh
Wywołanie metody powoduje ponowne załadowanie danych obiektu z bazy na sku-
tek czego wszelkie modyfikacje obiektu zostajÄ… utracone. Metoda ta przeprowadza obiekty
ze stanu do stanu .

Rozdział 4. Cykl życia obiektów 111
4.3.7. PersistenceManager.evict
Metoda ta umożliwia zaoszcz¹dzenie pami¹ci przez implementacj¹ buforowania stosowanÄ…
w klasie . Na skutek jej użycia obiekty przechodzą ze stanu
do stanu . Wartości pól obiektów są przy tym usuwane, aby umożliwić mechani-
zmowi odzysku nieużytków zwolnienie podobiektów.
4.3.8. Odczyt pól wewnątrz transakcji
Po wczytaniu danych z bazy obiekty przechodzÄ… ze stanu do stanu .
Gdy stosowany jest pesymistyczny algorytm zarządzania współbieżnością, to obiekt może
zostać zablokowany dla zapobieżenia równoczesnej modyfikacji.
4.3.9. Zapis pól wewnątrz transakcji
Gdy podczas wykonywania transakcji zmodyfikowane zostaje pole obiektu znajdujÄ…cego
si¹ pod kontrolÄ… instancji klasy , to implementacja JDO musi zapami¹-
tać, że należy pózniej zaktualizować dane tego obiektu w bazie. Obiekt przechodzi wtedy
ze stanu lub do stanu . Jeśli stosowany jest pe-
symistyczny algorytm zarządzania współbieżnością, to implementacja JDO może zabloko-
wać dost¹p do obiektu innym klientom tej samej bazy danych. Modyfikacja wartoÅ›ci pól
obiektów znajdujÄ…cych si¹ w stanie , lub pozo-
staje bez wpływu na stan takich obiektów. Gdy polu obiektu przypisywany jest inny obiekt,
to zmodyfikowany obiekt przechodzi do stanu , a obiekt przypisany nie
zmienia swojego stanu.
4.3.10. PersistenceManager.retrieve
Wywołanie metody ma ten sam skutek, co odczyt pola obie-
ktu podczas bieżącej transakcji.
4.4. Wywołania zwrotne
ImplementujÄ…c metody wywoÅ‚ywane zwrotnie aplikacja może przejąć obsÅ‚ug¹ cz¹Å›ci omó-
wionych wydarzeÅ„ wyst¹pujÄ…cych w cyklu życia obiektu. IstniejÄ… w zasadzie trzy sytuacje,
w których programista aplikacji może zaimplementować w ten sposób specjalne zachowa-
nie obiektów trwałych:
odczyt lub zapis wartości pól, które nie są trwałe lub nie powinny być przetwarzane
przez domyślny algorytm JDO,
usuwanie obiektów składowych,
usuwanie zb¹dnych referencji.

112 Część II Szczegóły
Metody wywoływane zwrotnie umieszczone zostały w osobnym interfejsie, którego obsłu-
ga przypomina sposób obsługi interfejsu etykietowego . Jeśli klasa
zdolna do trwałości implementuje interfejs , to jest to sygnałem dla im-
plementacji JDO, że należy użyć wywołań zwrotnych. W przeciwnym razie nie są one wy-
korzystywane.
4.4.1. Zastosowania metody jdoPostLoad
Metoda wywoływana jest za każdym razem, gdy obiekt trwały zostaje załado-
wany z bazy danych czyli, gdy jego stan zmienia si¹ z na . DokÅ‚ad-
niej rzecz ujmujÄ…c, metoda ta jest wywoÅ‚ywana w momencie, gdy dane obiektu stajÄ… si¹ spój-
ne z danymi zapisanymi w bazie danych.
Interfejs InstanceCallbacks
Jeśli klasa implementuje interfejs , to metody ,
, i są automatycznie wywoływane przez imple-
mentacjÄ™ JDO, gdy pola instancji sÄ… odczytywane, modyfikowane, zerowane lub obiekty
są usuwane. W przeciwieństwie do interfejsu klasa odpowiedzialna jest
za wywołanie metod interfejsu swojej klasy bazowej. Metody inter-
fejsu zadeklarowane są jako metody o dostępie publicznym i dla-
tego należy zwrócić uwagę, by nie wywoływać ich w innych sytuacjach.
ImplementujÄ…c metod¹ , możemy zaoszcz¹dzić na kodzie sprawdzajÄ…cym po-
czątkowe przypisanie wartości ulotnych, ponieważ JDO definiuje, że metoda ta wywoły-
wana jest dokÅ‚adnie raz. Klasa może wi¹c zaimplementować metod¹ , aby
przypisać wartości początkowe polom ulotnym, zwłaszcza gdy zależą one od wartości pól
trwałych. Możliwość taka jest szczególnie przydatna, gdy ustalenie tych wartości wymaga
skomplikowanych obliczeń, które nie powinny być wykonywane wielokrotnie.
Inne zastosowanie może polegać na rejestrowaniu przez obiekty aplikacji załadowania
obiektów trwałych z bazy danych. Na przykład w celu odroczenia inicjacji kolekcji do
momentu rzeczywistego jej użycia, co pozwala zaoszcz¹dzić pami¹ć i zwi¹kszyć efektyw-
ność działania programu:

Rozdział 4. Cykl życia obiektów 113
4.4.2. Zastosowania metody jdoPreStore
Metoda ta wywoływana jest przed zapisaniem pól do bazy danych. Jedno z zastosowań tej
metody polega na aktualizacji wartości pól trwałych na podstawie pól, które nie są trwałe
przed zakończeniem transakcji. Metoda może być również wykorzystana w celu sprawdze- [ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • mexxo.keep.pl