PB162: Úloha č. 8

V této úloze si procvičíte práci se vstupem a výstupem. Vaším úkolem je vytvořit třídu cz.muni.fi.pb162.school.StudentImpl, která bude implementovat rozhraní cz.muni.fi.pb162.school.Student, a třídu cz.muni.fi.pb162.school.StudentCatalogImpl, která bude implementovat rozhraní cz.muni.fi.pb162.school.StudentCatalog. Jak se mají Vaše třídy chovat je popsáno v komentářích formátu JavaDoc.

Pro ověření správné funkčnosti Vaší implementace uvedených rozhraní máte k dispozici testovací třídu StudentCatalogTest pro testovací framework JUnit. Silně Vám doporučuji ji využít, neboť Vám pomůže odhalit některé zákeřné chyby, které se mohou objevit. Pozor, tato třída netestuje níže předepsanou metodu main!

Dále v třídě StudentCatalogImpl implementujte metodu main, která udělá tyto operace:

  1. Vytvoří instanci třídy StudentCatalogImpl,
  2. načte testovací soubor test.data (soubor bude v aktuálním adresáři),
  3. přidá jednoho studenta, jehož jméno přečte ze standardního vstupu,
  4. vypíše seznam všech studentů na standardní chybový výstup (s využitím metody getStudents()),
  5. obsah katalogu pomocí metody save() zapíše do souboru test1.data a
  6. obsah katalogu pomocí metody save() zapíše na standardní výstup.

V posledním kroku se nepozastavujte nad případně poškozeným kódováním diakritiky; předepsané kódování pro ukladání dat metodou save() je utf-8, zatímco Vy nejspíše pracujete ve Windows s kódováním cp-1250 nebo na Linuxové stanici s kódováním iso-8859-2 (pokud podobně jako já nemáte jako výchozí kódování nastavené utf-8).

Veškerý Váš kód alespoň stručně okomentujte pomocí značek JavaDoc a vytvořte dávku compile.(bat|sh), která kód přeloží, vygeneruje dokumentaci ve formátu JavaDoc a zdrojové kódy, zkompilované třídy, vygenerovanou dokumentaci i sebe sama zabalí do archivu uloha8.jar, který potom odevzdáte. V archivu uloha8.jar budou zdrojové kódy v podadresáři src, zkompilované třídy v podadresáři build a vygenerovaná dokumentace v podadresáři doc (viz adresářová struktura zadání). Do archivu nezahrnujte soubor junit.jar!

Alternativně můžete místo této dávky vytvořit soubor build.xml pro nástroj Ant.

Několik tipů pro řešení úlohy