Class Ex2_Ricette

java.lang.Object
ex_2_ricette_ingredienti.Ex2_Ricette
All Implemented Interfaces:
Iterable<Ex2_Ricetta>

public class Ex2_Ricette extends Object implements Iterable<Ex2_Ricetta>
Classe singleton per la gestione di un insieme di ricette, intesa come: itarazione sulle ricette, aggiunta, rimozione e metodi di filtraggio. Implementa Iterable per lo scorrimento delle ricette.
  • Method Details

    • getInstance

      public static Ex2_Ricette getInstance()
      Ritorna l'unica istanza di Ex2_Ricette. Se non esite ancora, la costruisce utilizzando il costruttore privato e la imposta per successivi utilizzi.
      Returns:
      l'istanza singleton della classe
    • addRicetta

      public void addRicetta(Ex2_Ricetta ricetta)
      Aggiunge una ricetta alla collezione
      Parameters:
      ricetta - la ricetta da aggiungere alla collezione
    • removeRicetta

      public void removeRicetta(Ex2_Ricetta ricetta)
      Rimuove una ricetta alla collezione
      Parameters:
      ricetta - la ricetta da rimuovere dalla collezione
    • iterator

      public Iterator<Ex2_Ricetta> iterator()
      Implementazione dell'interfaccia iterable, che ritorna l'iterator della collezione interna, nel nostro caso un HashSet
      Specified by:
      iterator in interface Iterable<Ex2_Ricetta>
      Returns:
      l'iteratore da utilizzare per scorrere le ricette
    • getMappaTipologiaRicette

      public Map<Ex2_Ricetta.Tipologia,Set<Ex2_Ricetta>> getMappaTipologiaRicette()
      Ritorna una mappa con chiave Tipologia e valori gli insiemi di ricette con quella tipologia
      Returns:
      la mappa di Ricette per Tipologia
    • getHashMappaIngredientiQuantitaPerTipologiaRicette

      public Map<String,List<Integer>> getHashMappaIngredientiQuantitaPerTipologiaRicette(Ex2_Ricetta.Tipologia tipologia)
      Data una tipologia di ricetta, ritorna una mappa di quantita' in grammi raggruppati per nome.
      Parameters:
      tipologia - la tipologia di ricetta
      Returns:
      la mappa di Quantita' in grammi per Nome Ingrediente