cz.muni.fi.pb162.ishop
Interface Shop


public interface Shop

Toto rozhrani reprezentuje velmi zjednoduseny model internetoveho obchodu. Obchod umoznuje registrovat nove zakazniky, prijimat dodavky zbozi a zpracovavat objednavky.

Author:
Jan Pomikalek <xpomikal@fi.muni.cz>

Method Summary
 void processOrder(Order order, OutputStream os)
          Zpracuje objednavku.
 void productsSupply(Map<Product,Integer> supply)
          Prijme dodavku zbozi.
 void registerCustomer(Customer customer)
          Zaregistruje noveho zakaznika.
 

Method Detail

processOrder

void processOrder(Order order,
                  OutputStream os)
                  throws IOException
Zpracuje objednavku. Polozky, ktere jsou na objednavce, se odstrani ze skladu. Nasledne se objednavka vytiskne. V pripade, ze na sklade neni dostatek zbozi pro vyrizeni objednavky, musi metoda selhat atomicky.

Parameters:
order - objednavka, ktera se ma zpracovat
os - vystupni proud, do ktereho se ma objednavka vytisknout
Throws:
NullPointerException - pokud ma parametr order nebo os hodnotu null
IOException - pokud dojde k chybe vstupu/vystupu
cz.muni.fi.pb162.ishop.NotEnoughProductsException - pokud na sklade neni dostatek zbozi pro vyrizeni objednavky
cz.muni.fi.pb162.ishop.UnregisteredCustomerException - neni-li objednatel registrovanym zakaznikem

productsSupply

void productsSupply(Map<Product,Integer> supply)
Prijme dodavku zbozi. Zbozi se ulozi do skladu. V pripade, ze nelze do skladu ulozit cely obsah dodavky, musi metoda selhat atomicky.

Parameters:
supply - obsah dodavky, map: vyrobek -> pocet kusu
Throws:
NullPointerException - pokud ma parametr supply hodnotu null
cz.muni.fi.pb162.ishop.StockFullException - pokud nelze do skladu ulozit cely obsah dodavky

registerCustomer

void registerCustomer(Customer customer)
Zaregistruje noveho zakaznika.

Parameters:
customer - zakaznik, ktery ma byt zaregistrovan
Throws:
NullPointerException - pokud ma parametr customer hodnotu null
cz.muni.fi.pb162.ishop.AlreadyRegisteredException - pokud dany zakaznik jiz byl zaregistrovan