package agilpizza.dao;

import java.util.HashMap;
import java.util.Map;

import agilpizza.modelo.Ingrediente;

public class IngredienteDAO {
	
	private static IngredienteDAO singleton;

	private Map<String, Ingrediente> mapaIngredientes;

	public static IngredienteDAO getInstance() {
		if (singleton == null) {
			singleton = new IngredienteDAO();
		}
		return singleton;
	}
	
	private IngredienteDAO () {
		mapaIngredientes = new HashMap<String, Ingrediente>();
		adicionaIngrediente("Abobrinha", 2.50);
		adicionaIngrediente("Alcaparras", 5.0);
		adicionaIngrediente("Alho", 2.50);
		adicionaIngrediente("Alcachofra", 5.00);
		adicionaIngrediente("Aliche", 5.00);
		adicionaIngrediente("Aspargos", 5.00);
		adicionaIngrediente("Berinjela", 2.50);
		adicionaIngrediente("Brócolis", 2.50);
		adicionaIngrediente("Bacon", 2.50);
		adicionaIngrediente("Calabresa", 2.50);
		adicionaIngrediente("Catupiry", 3.00);
		adicionaIngrediente("Cebola", 1.50);
		adicionaIngrediente("Champignon", 5.00);
		adicionaIngrediente("Escarola", 2.50);
		adicionaIngrediente("Ervilha", 2.50);
		adicionaIngrediente("Frango", 3.50);
		adicionaIngrediente("Gorgonzola", 3.00);
		adicionaIngrediente("Muzzarela", 2.00);
		adicionaIngrediente("Muzzarela em dobro", 4.00);
		adicionaIngrediente("Muzzarela de Búfala", 5.00);
		adicionaIngrediente("Molho de tomate", 1.50);
		adicionaIngrediente("Milho", 2.50);
		adicionaIngrediente("Ovo", 1.50);
		adicionaIngrediente("Orégano", 0.25);
		adicionaIngrediente("Palmito", 3.50);
		adicionaIngrediente("Parmesão", 2.50);
		adicionaIngrediente("Presunto", 3.00);
		adicionaIngrediente("Provolone", 3.00);
		adicionaIngrediente("Requeijão", 2.50);
		adicionaIngrediente("Rúcula", 1.50);
		adicionaIngrediente("Shitake", 5.00);
		adicionaIngrediente("Shimeji", 5.00);
		adicionaIngrediente("Tomate", 2.50);
		adicionaIngrediente("Tomate cereja", 3.50);
		adicionaIngrediente("Tomates secos", 5.00);
	}

	private void adicionaIngrediente(String nome, double preco) {
		mapaIngredientes.put(nome, new Ingrediente(nome, preco));
	}

	public Ingrediente busca(String nomeDoIngrediente) {
		return mapaIngredientes.get(nomeDoIngrediente);
	}

}