Úkoly č. 1
Uvažujme následující typ XML souboru:
<?xml version="1.0" ?> <recipe servings="2"> <name>Vaječné pyré s rajčatovým terčem</name> <cooktime>10</cooktime> <ingredients> <ingredient amount="4" unit="ks">vejce</ingredient> <ingredient amount="50" unit="g">špek</ingredient> <ingredient amount="1" unit="ks">cibule</ingredient> <ingredient amount="1" unit="špetka">soli</ingredient> <ingredient amount="20" unit="ml">kečup</ingredient> </ingredients> <directions> <step>na špeku osmažíme na kostičky nakrájenou cibuli</step> <step>vejce rozmícháme se špetkou soli a vmícháme do osmažené cibule</step> <step>před podáváním esteticky dozdobíme kečupem</step> </directions> </recipe>Navrhněte třídu
Recipe
, 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 RecipeReaderWriter { /** * Nacte ze streamu XML soubor a dle nej vytvori prislusny objekt reprezentujici recept */ public Recipe loadRecipe(InputStream input) throws Exception; /** * Ulozi do prislusneho streamu XML soubor predstavujici dany recept */ public void storeRecipe(OutputStream output, Recipe recept) throws Exception; }Implementujte příslušné rozhraní jako třídy:
DOMRecipeReaderWriter
-- aby využívalo DOM APISAXRecipeReaderWriter
-- aby využívalo SAX API (pokus o zápis v tomto případě skončí vždy vyjímkou)StAXRecipeReaderWriter
-- aby využívalo StAX API
Vyřešené úkoly zašlete do 24.2.2015 23:59 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.