cz.muni.fi.pb162.school
Class StudentCatalogImpl

java.lang.Object
  extended by cz.muni.fi.pb162.school.StudentCatalogImpl
All Implemented Interfaces:
StudentCatalog

public class StudentCatalogImpl
extends Object
implements StudentCatalog

Author:
petr

Constructor Summary
StudentCatalogImpl()
           
 
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.
static void main(String[] args)
           
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StudentCatalogImpl

public StudentCatalogImpl()
Method Detail

newStudent

public Student newStudent(String name)
Description copied from interface: StudentCatalog
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á.

Specified by:
newStudent in interface StudentCatalog
Parameters:
name - jméno nového studenta
Returns:
instanci třídy reprezentující nového studenta

load

public void load(InputStream is)
          throws StudentCatalogException
Description copied from interface: StudentCatalog
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í.

Specified by:
load in interface StudentCatalog
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

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

Specified by:
save in interface StudentCatalog
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

public Student getStudent(int id)
Description copied from interface: StudentCatalog
Vrátí studenta s daným id.

Specified by:
getStudent in interface StudentCatalog
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.

getStudents

public Collection<Student> getStudents()
Description copied from interface: StudentCatalog
Vrátí kolekci všech studentů v katalogu. Kolekci není možné modifikovat.

Specified by:
getStudents in interface StudentCatalog
Returns:
množinu všech studentů v katalogu

clear

public void clear()
Description copied from interface: StudentCatalog
Smaže všechny studenty v katalogu.

Specified by:
clear in interface StudentCatalog

main

public static void main(String[] args)
                 throws IOException,
                        StudentCatalogException
Throws:
IOException
StudentCatalogException