Ú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 API
  • SAXRecipeReaderWriter -- 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.


Last update on 17. 2. 2015 22:50
Powered by Schemik.

© Petr Krajča, 2010, 2012
petr.krajca (at) upol.cz