cz.muni.fi.pb162.school
Interface StudentCatalog

All Known Implementing Classes:
StudentCatalogImpl

public interface StudentCatalog

Toto rozhraní reprezentuje katalog studentů. Zároveň umožňuje katalog uložit do souboru nebo jej ze souboru naopak načíst.

Author:
Petr Adamek <xadamek2@fi.muni.cz>

Method Summary
 void clear()
          Smaže všechny studenty v katalogu.
 Student getStudent(int id)
          Vrátí studenta s daným id.
 Collection<Student> getStudents()
          Vrátí kolekci všech studentů v katalogu.
 void load(InputStream is)
          Tato metoda ze zadaného proudu načte obsah katalogu.
 Student newStudent(String name)
          Metoda vytvoří nového studenta s daným jménem.
 void save(OutputStream os)
          Tato metoda obsah katalogu uloží do daného výstupního proudu.
 

Method Detail

load

void load(InputStream is)
          throws StudentCatalogException
Tato metoda ze zadaného proudu načte obsah katalogu. Katalog je v proudu (souboru) organizován tak, že na každém řádku je jeden student, přičemž řádek začíná identifikátorem studenta, pak následuje mezera a zbytek řádku obsahuje jméno studenta. Data jsou v proudu uložena s kódováním UTF-8. Pořadí řádků v souboru není rozhodující.

Parameters:
is - Vstupní proud, ze kterého se budou číst data.
Throws:
StudentCatalogException - pokud dojde k chybě při čtení dat z proudu nebo má vstupní soubor nesprávný formát.

save

void save(OutputStream os)
          throws StudentCatalogException
Tato metoda obsah katalogu uloží do daného výstupního proudu. Formát proudu je stejný jako u metody load().

Parameters:
os - Výstupní proud, do nějž se má katalog zapsat.
Throws:
StudentCatalogException - pokud dojde k chybě při zápisu dat do proudu

getStudent

Student getStudent(int id)
Vrátí studenta s daným id.

Parameters:
id - Identifikátor studenta, kterého má metoda vrátit.
Returns:
instanci třídy reprezentující studenta s daným identifikátorem nebo null, pokud takový student neexistuje.

newStudent

Student newStudent(String name)
Metoda vytvoří nového studenta s daným jménem. Student bude mít přidělen nový identifikátor, který ještě žádný student v kolekci nemá.

Parameters:
name - jméno nového studenta
Returns:
instanci třídy reprezentující nového studenta

getStudents

Collection<Student> getStudents()
Vrátí kolekci všech studentů v katalogu. Kolekci není možné modifikovat.

Returns:
množinu všech studentů v katalogu

clear

void clear()
Smaže všechny studenty v katalogu.