Class CambiaValute

java.lang.Object
it.unimi.di.prog2.temisvolti.cambiavalute.CambiaValute

public class CambiaValute extends Object
Classe che rappresenta il cambiavalute.
  • Field Details

    • cassa

      private final Cassa cassa
      La cassa del cambiavalute.
    • cambi

      private final Cambi cambi
      L'elenco dei tassi di cambio noti al cambiavalute.
  • Constructor Details

    • CambiaValute

      public CambiaValute(List<Importo> importi)
      Crea un cambiavalute versando in cassa gli importi dati.
      Parameters:
      importi - gli importi da versare.
      Throws:
      NullPointerException - se importi è, o contiene, null.
      IllegalArgumentException - se uno degli importi non è positivo.
  • Method Details

    • cambia

      public Importo cambia(Importo da, Valuta aValuta)
      Cambia un importo da una valuta a un'altra.

      Per effetto del cambio, verrà versato in cassa l'importo dato e sarà prelevato l'importo equivalente nell'altra valuta. Se questo non è possibile, perché la valuta d'arrivo è uguale a quella di partenza, o per mancanza di fondi o perché non è noto il tasso di cambio necessario, verrà sollevata una eccezione.

      Parameters:
      da - l'importo da cambiare.
      aValuta - la valuta in cui cambiarlo.
      Returns:
      l'importo equivalente nella valuta data.
      Throws:
      NullPointerException - se da o aValuta sono null.
      IllegalArgumentException - se da e aValuta sono uguali, se non è noto il tasso di cambio o se i fondi in cassa non sono sufficienti.
    • aggiorna

      public boolean aggiorna(Cambi.Tasso tasso)
      Aggiorna (o aggiunge) un tasso di cambio.
      Parameters:
      tasso - il tasso di cambio da aggiornare (o aggiungere).
      Returns:
      true se il tasso sostituisce un tasso precedentemente noto, false viceversa.
      Throws:
      NullPointerException - se tasso è null.
    • importi

      Iterator<Importo> importi()
      Consente di conoscere gli importi in cassa.
      Returns:
      un iteratore sugli importi in cassa.
    • tassi

      Consente di conoscere i tassi noti.
      Returns:
      un iteratore sui tassi noti.
    • toString

      public String toString()
      Overrides:
      toString in class Object