public interface Stock
Toto rozhrani reprezentuje sklad vyrobku. Do skladu lze vyrobky pridavat a zase je z nej odebirat.
Sklad ma omezenou kapacitu. Pro kazdou ze tri moznych velikosti vyrobku (SMALL, MEDIUM, LARGE) existuje ve skladu prostor, kam se ukladaji pouze vyrobky teto velikosti. Kapacita kazde z techto tri prostor oblasti je dana maximalnim poctem vyrobku, ktere sem lze ulozit. V pripade, ze se naplni prostor pro male vyrobky, nelze uz tedy dalsi maly vyrobek do skladu ulozit, prestoze by v prostoru pro velke vyrobky jeste bylo misto.
Method Summary | |
---|---|
void |
addProduct(Product product)
Vlozi do skladu jeden kus vyrobku. |
void |
addProduct(Product product,
int count)
Vlozi do skladu count kusu vyrobku. |
int |
getProductCount(Product product)
Vrati informaci o poctu daneho typu vyrobku na sklade. |
int |
getSpaceLeft(Product.Size size)
Vrati informaci o volnem miste ve skladu. |
void |
removeProduct(Product product)
Odstrani ze skladu jeden kus vyrobku. |
void |
removeProduct(Product product,
int count)
Odstrani ze skladu count kusu vyrobku. |
Method Detail |
---|
void addProduct(Product product)
product
- vyrobek, ktery se ma uskladnit
cz.muni.fi.pb162.school.StockFullException
- pokud ve skladu jiz neni misto pro vyrobek dane velikosti
NullPointerException
- pokud ma parametr
product
hodnotu null
void addProduct(Product product, int count)
count
kusu vyrobku.
product
- typ vyrobku, ktery se ma uskladnitcount
- pocet kusu vyrobku, ktere se maji uskladnit
cz.muni.fi.pb162.school.StockFullException
- pokud ve skladu jiz neni misto pro dany pocet vyrobku
dane velikosti
NullPointerException
- pokud ma parametr
product
hodnotu null
IllegalArgumentException
- pokud parametr
count
neobsahuje kladnou hodnotuint getProductCount(Product product)
product
- vyrobek, jehoz stav na sklade se zjistuje
NullPointerException
- pokud ma parametr
product
hodnotu null
int getSpaceLeft(Product.Size size)
size
- velikost vyrobku urcujici oblast skladu, jejiz
kapacita se zjistuje
NullPointerException
- pokud ma parametr
size
hodnotu null
void removeProduct(Product product)
product
- vyrobek, ktery se ma odstranit ze skladu
cz.muni.fi.pb162.school.NotEnoughProductsException
- pokud na sklade dany vyrobek neni k dispozici
NullPointerException
- pokud ma parametr
product
hodnotu null
void removeProduct(Product product, int count)
count
kusu vyrobku.
product
- typ vyrobku, ktery se ma odstranit ze skladucount
- pocet kusu vyrobku, ktere se maji odstranit ze skladu
cz.muni.fi.pb162.school.NotEnoughProductsException
- pokud na sklade neni k dispozici dany pocet daneho vyrobku
NullPointerException
- pokud ma parametr
product
hodnotu null
IllegalArgumentException
- pokud parametr
count
neobsahuje kladnou hodnotu