pl.edu.pjwstk.yaod.system
Class DatabaseManager

java.lang.Object
  |
  +--pl.edu.pjwstk.yaod.system.DatabaseManager

public class DatabaseManager
extends java.lang.Object

Serce systemu. Tworzy procesy i bufory, otwiera i zamyka sklady.

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

Constructor Summary
DatabaseManager(Database db)
          Tworzy nowego menedzera danych.
 
Method Summary
 void createServerProcess(java.net.Socket socket, int protocol)
          Tworzy i uruchamia nowy proces uslugowy.
 AtomBuffer getAtomBuffer()
          Zwraca bufor atomow.
 BlockBuffer getBlockBuffer()
          Zwraca obiekt bufora blokow.
 Database getDatabase()
          Zwraca obiekt bazy danych, ktora jest zarzadzana przez danego menedzera.
 AbstractStore getStoreById(java.lang.Object key)
          Zwraca sklad identyfikowany okreslonym numerem.
 java.util.Enumeration getStores()
          Zwraca liste skladow, ktorymi zarzadza menedzer, a ktore sa skladowymi bazy danych.
 void initialize()
          Inicjalizuje baze danych.
 void setStores(java.util.Hashtable stores)
          Pozwala na wprowadzenie do menedzera listy obiektow reprezentujacych sklady.
 void start()
          Uruchamia menedzera.
 void stop()
          Zatrzymuje menedzera.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DatabaseManager

public DatabaseManager(Database db)
                throws java.lang.Exception
Tworzy nowego menedzera danych.
Parameters:
db - baza danych, ktora ma byc zarzadzana przez menedzera.
Throws:
java.lang.Exception - gdy cos poszlo nie tak (np. nie mozna otworzyc skladu).
Method Detail

setStores

public void setStores(java.util.Hashtable stores)
Pozwala na wprowadzenie do menedzera listy obiektow reprezentujacych sklady. Wywolywana przez Database podczas inicjalizacji menedzera.
Parameters:
stores - tablica zawierajaca obiekty reprezentujace sklady obiektow.

getDatabase

public Database getDatabase()
Zwraca obiekt bazy danych, ktora jest zarzadzana przez danego menedzera.
Returns:
obiekt bazy danych.

getStores

public java.util.Enumeration getStores()
Zwraca liste skladow, ktorymi zarzadza menedzer, a ktore sa skladowymi bazy danych.
Returns:
lista skladow (obiektow AbstractStore).

getStoreById

public AbstractStore getStoreById(java.lang.Object key)
Zwraca sklad identyfikowany okreslonym numerem.
Parameters:
Wartosc - Short zawierajaca numer skladu.
Returns:
sklad o podanym identyfikatorze.

getBlockBuffer

public BlockBuffer getBlockBuffer()
Zwraca obiekt bufora blokow.
Returns:
bufor blokow.

getAtomBuffer

public AtomBuffer getAtomBuffer()
Zwraca bufor atomow.
Returns:
bufor atomow.

initialize

public void initialize()
                throws java.lang.Exception
Inicjalizuje baze danych. W przypadku skladu trwalych obiektow jest to np. sformatowanie plikow danych.
Throws:
java.lang.Exception - jesli cos poszlo nie tak (np. brak pliku danych).

start

public void start()
           throws java.lang.Exception
Uruchamia menedzera. Otwiera wszystkie sklady, uruchamia procesy, alokuje pamiec na bufory.
Throws:
java.lang.Exception - jesli nie mozna uruchomic menedzera.

stop

public void stop()
Zatrzymuje menedzera. Przerywa dzialanie procesow, zamyka sklady.

createServerProcess

public void createServerProcess(java.net.Socket socket,
                                int protocol)
                         throws java.io.IOException
Tworzy i uruchamia nowy proces uslugowy. Wywolywana przez LSNR przy nadejsciu nowego polaczenia od klienta.
Parameters:
socket - gniazdko sluzace do komunikacji z klientem.
Throws:
IOException - jesli problem z komunikacja.