package agilpizza.modelo;

import java.util.Collections;
import java.util.List;

public abstract class Pizza {

	protected List<Ingrediente> ingredientes;

	public List<Ingrediente> getIngredientes() {
		return Collections.unmodifiableList(ingredientes);
	}

	public double getPrecoTotal() {
		double totalPreco = 10.0;

		for (Ingrediente ingrediente : ingredientes) {
			totalPreco += ingrediente.getPreco();
		}

		return totalPreco;
	}

	public String getDescricaoIngredientes() {
		String resultado = "";
		String complemento = "";
		for (Ingrediente item : getIngredientes()) {
			resultado = item.getNome() + complemento + resultado;
			complemento = ", ";
		}
		return resultado;
	}

	public abstract String getDescricao();

	public boolean equals(Object objeto) {
		Pizza outra = (Pizza) objeto;
		return getDescricao().equals(outra.getDescricao());
	}

	public int hashCode() {
		return getDescricao().hashCode();
	}
}