pl.edu.pjwstk.yaod.store.defaultstore.persistentstore
Class PersistentStoreWrapper

java.lang.Object
  |
  +--pl.edu.pjwstk.yaod.store.defaultstore.persistentstore.PersistentStoreWrapper
All Implemented Interfaces:
Wrappable

public class PersistentStoreWrapper
extends java.lang.Object
implements Wrappable

Klasa stanowi oslone (wrapper) nad skladem trwalych obiektow. Warstwom wyzszym udostepnia interfejs CRUD atomow, umozliwiajac przykrycie zlozonych zagadnien zwiazanych z funkcjonowaniem blokow, rekordow itp. Oprocz funkcji charakterystycznych dla kazdego skladu (interfejs Wrappable), zapewnia rowniez funkcje do zarzadzania tylko i wylacznie domyslnym skladem trwalych obiektow. Funkcje te maja charakter administracyjny i charakterystyczne sa tylko i wylacznie dla danego rodzaju skladu, jednak musza byc udostepnione na zewnatrz.

Author:
M. Lentner, raist@ertel.com.pl

Constructor Summary
PersistentStoreWrapper(PersistentStore store)
          Konstruktor tworzacy nowy obiekt oslony dla domyslnego skladu trwalych obiektow.
 
Method Summary
 void createAtom(Atom atm)
          Zapisuje w skladzie podany atom.
 void deleteAtom(AtomID ptr)
          Kasuje atom o podanym identyfikatorze.
 AtomID getEntry()
          Zwraca identyfikator obiektu wejsciowego do skladu.
 Atom retrieveAtom(AtomID ptr)
          Odczytuje ze skladu rekord wskazywany danym identyfikatorem, a nastepnie tworzy na jego podstawie atom.
 void updateAtom(Atom atm)
          Aktualizuje podany atom.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PersistentStoreWrapper

public PersistentStoreWrapper(PersistentStore store)
Konstruktor tworzacy nowy obiekt oslony dla domyslnego skladu trwalych obiektow.
Parameters:
store - obiekt domyslnego skladu trwalych obiektow, dla ktorego tworzona jest oslona.
Method Detail

getEntry

public AtomID getEntry()
Zwraca identyfikator obiektu wejsciowego do skladu.
Specified by:
getEntry in interface Wrappable
Returns:
identyfikator obiektu wejsciowego.

retrieveAtom

public Atom retrieveAtom(AtomID ptr)
                  throws NoSuchAtomException
Odczytuje ze skladu rekord wskazywany danym identyfikatorem, a nastepnie tworzy na jego podstawie atom. Najpierw sprawdzany jest bufor atomow, a dopiero pozniej analizowana jest zawartosc dysku.
Specified by:
retrieveAtom in interface Wrappable
Parameters:
ptr - identyfikator atomu, ktory ma zostac wczytany.
Returns:
odczytany atom.
Throws:
NoSuchAtomException - brak takiego atomu.

deleteAtom

public void deleteAtom(AtomID ptr)
                throws NoSuchAtomException
Kasuje atom o podanym identyfikatorze.
Specified by:
deleteAtom in interface Wrappable
Parameters:
ptr - identyfikator atomu, ktory ma zostac wczytany.
Throws:
NoSuchAtomException - brak takiego atomu.

updateAtom

public void updateAtom(Atom atm)
                throws BlockFreeSpaceException
Aktualizuje podany atom.
Specified by:
updateAtom in interface Wrappable
Parameters:
atm - atom utworzony wczesniej w bazie.
Throws:
BlockFreeSpaceException - za malo wolnego miejsca.

createAtom

public void createAtom(Atom atm)
                throws BlockFreeSpaceException
Zapisuje w skladzie podany atom.
Specified by:
createAtom in interface Wrappable
Parameters:
atm - atom, ktory ma zostac umieszczony w skladzie.
Throws:
BlockFreeSpaceException - za malo wolnego miejsca.