package versao3.persistencia;

import java.util.List;
import versao3.dominio.Cliente;
import versao3.dominio.Pedido;

/**
 * Interface dos objetos de acesso a dados de pedidos.
 */
public interface PedidoDAO extends DAO {
  /**
   * Busca todos os pedidos de um cliente.
   *
   * @param cliente Cliente
   * @throws PersistanceException
   * @return List
   */
  List /*Pedido*/ buscarPorCliente(Cliente cliente) throws PersistanceException;

  /**
   * Remove todos os pedidos de um cliente.
   *
   * @param cliente Cliente
   * @throws PersistanceException
   */
  void removerPorCliente(Cliente cliente) throws PersistanceException;

  /**
   * Salva um pedido.
   *
   * @param pedido Pedido
   * @throws PersistanceException
   */
  void save(Pedido pedido) throws PersistanceException;
}
