Úkoly č. 1
Uvažujme následující typ XML souboru:
<?xml version="1.0" ?> <grades> <name>Tomáš Pech</name> <program>computer science</programn> <courses> <course name="Algorithms" credits="5" date="1.1.2017">A</course> <course name="Bioinformatics" credits="4" date="5.1.2017">B-</course> <course name="Compilers" date="10.2.2017" credits="2">C+</course> <course name="Databases" date="2.1.2017" credits="4">D</course> </courses> </grades>Navrhněte třídu
GradeReport, do které bude možné uložit všechna data z daného XML souboru, přečíst hodnoty a vypsat je.
Uvažujme rozhraní:
public interface GradeReportReaderWriter {
/**
* Nacte ze streamu XML soubor a dle nej vytvori prislusny objekt tridy GradeReport
*/
public GradeReport loadGradeReport(InputStream input) throws Exception;
/**
* Ulozi do prislusneho streamu XML soubor predstavujici dane hodnoceni studenta
*/
public void storeGradeReport(OutputStream output, GradeReport gradeReport) throws Exception;
}
Implementujte příslušné rozhraní jako třídy:
DOMGradeReportReaderWriter-- aby využívalo DOM APISAXGradeReportReaderWriter-- aby využívalo SAX API (pokus o zápis v tomto případě skončí vždy vyjímkou)StAXGradeReportReaderWriter-- aby využívalo StAX API
Vyřešené úkoly zašlete do 22.2.2017 13:00 CET na email petr.krajca (zavináč) upol.cz s předmětem: ZP4JV01. Zasílejte pouze zdrojové kódy. Pokud chcete zdrojové kódy poslat zkomprimované, použijte buď formát zip nebo kombinaci tar+gz.