Class Bancarella
java.lang.Object
it.unimi.di.prog2.temisvolti.bancarelle.Bancarella
- All Implemented Interfaces:
Iterable<Giocattolo>
Una bancarella ha un proprietario ed espone un certo insieme di giocattoli che può vendere.
È un Iterable
dei giocattoli che contiene il suo inventario, in ordine lessicografico
della loro rappresentazione testuale.
Dal momento che le bancarelle entreranno in diverse *collections* sono stati sovrascritti i metodi `equals` e `hashCode` in modo che siano uguali (ai fini del progetto) bancarelle col medesimo propirietario (indipendentemente da inventaroi e listino).
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Inventario
L'inventario della bancarella.private final Listino
Il listino della bancarella.final String
Il proprietario della bancarella. -
Constructor Summary
ConstructorsConstructorDescriptionBancarella
(String proprietario, Inventario inventario, Listino listino) Costruisce una bancarella dato il proprietario, l'inventario e i listino. -
Method Summary
Modifier and TypeMethodDescriptionboolean
int
hashCode()
iterator()
int
prezzo
(int num, Giocattolo giocattolo) Restituisce il prezzo della quantità indicata del giocattolo specificato.int
quantità
(Giocattolo giocattolo) Restituisce la quantità del giocattolo specificato nell'inventario della bancarella.toString()
int
vende
(int num, Giocattolo giocattolo) Effettua la vendita del numero richiesto del giocattolo indicato.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
proprietario
Il proprietario della bancarella. -
listino
Il listino della bancarella. -
inventario
L'inventario della bancarella.
-
-
Constructor Details
-
Bancarella
Costruisce una bancarella dato il proprietario, l'inventario e i listino.- Parameters:
proprietario
- il proprietario.inventario
- l'inventario.listino
- il listino.- Throws:
NullPointerException
- se uno dei parametri ènull
IllegalArgumentException
- se l'inventario contiene un giocattolo il cui prezzo non è presente nel listino.
-
-
Method Details
-
vende
Effettua la vendita del numero richiesto del giocattolo indicato.- Parameters:
num
- il numero di giocattoli da vendere.giocattolo
- il giocattolo da vendere.- Returns:
- il numero rimanente di giocattoli del tipo appena venduto ancora presenti nell'inventario della bancarella.
- Throws:
NullPointerException
- se il giocattolo ènull
.IllegalArgumentException
- se il numero non è positivo, o eccede il numero di giocattoli di quel tipo presenti nell'inventario della bancarella.
-
quantità
Restituisce la quantità del giocattolo specificato nell'inventario della bancarella.- Parameters:
giocattolo
- il giocattolo.- Returns:
- il numero di giocattoli specificato nell'inventario della bancarella (eventualmente 0).
- Throws:
NullPointerException
- se giocattolo ènull
-
prezzo
Restituisce il prezzo della quantità indicata del giocattolo specificato.- Parameters:
num
- la quantità di cui determinare il prezzo.giocattolo
- il giocattolo da vendere.- Returns:
- il prezzo della quantità indicata del giocattolo specificato.
- Throws:
NullPointerException
- se giocattolo ènull
NoSuchElementException
- se al listino della bancarella non è noto il prezzo del giocattolo.
-
iterator
- Specified by:
iterator
in interfaceIterable<Giocattolo>
-
equals
-
hashCode
public int hashCode() -
toString
-