Class Acquisto

java.lang.Object
it.unimi.di.prog2.temisvolti.bancarelle.Acquisto
All Implemented Interfaces:
Iterable<Bancarella>

public class Acquisto extends Object implements Iterable<Bancarella>
Descrizione di un possibile acquisto di un giocattolo effettuato tra varie bancarelle.

È un Iterable delle bancarelle coinvolte.

  • Field Details

    • giocattolo

      public final Giocattolo giocattolo
      Il giocattolo acquistato.
    • descrizione

      private final Map<Bancarella,Integer> descrizione
      Una mappa che associa a ciascuna bancarella il numero di giocattoli acquistati da essa.
    • prezzo

      private int prezzo
      Il prezzo totale e la quantità complessiva di giocattoli nell'acquisto.
    • quantità

      private int quantità
      Il prezzo totale e la quantità complessiva di giocattoli nell'acquisto.
  • Constructor Details

    • Acquisto

      public Acquisto(Giocattolo giocattolo)
      Costruisce un acquisto del dato giocattolo.
      Parameters:
      giocattolo - il giocattolo da acquistare.
      Throws:
      NullPointerException - se il giocattolo è null.
  • Method Details

    • aggiungi

      public void aggiungi(int num, Bancarella bancarella)
      Aggiunge alla descrizione dell'acuisto l'intenzione di comprare un certo numero di giocattoli da una data bancarella.
      Parameters:
      num - il numero di giocattoli.
      bancarella - la bancarella.
      Throws:
      NullPointerException - se la bancarella è null.
      IllegalArgumentException - se il numero non è positivo, o la bancarella è già presente nella descrizione.
    • prezzo

      public int prezzo()
      Restituisce il prezzo complessivo dell'acquisto.
      Returns:
      il prezzo.
    • quantità

      public int quantità()
      Restituisce la quantità totale di giocattoli acquistati.
      Returns:
      la quantità.
    • quantità

      public int quantità(Bancarella bancarella)
      Restituisce la quantità di giocattoli da acquistare dalla data bancarella.
      Parameters:
      bancarella - la bancarella.
      Returns:
      la quantità di giocattoli da acquistare.
      Throws:
      NullPointerException - se la bancarella è null.
      NoSuchElementException - se l'acquisto non riguarda la bancarella specificata.
    • iterator

      public Iterator<Bancarella> iterator()
      Specified by:
      iterator in interface Iterable<Bancarella>
    • toString

      public String toString()
      Overrides:
      toString in class Object