package versao2.persistencia;

import java.sql.SQLException;
import java.util.List;
import versao2.dominio.Cliente;

/**
 * Interface do objeto de acesso a dados para a classe Cliente.
 */
public interface ClienteDAO extends DAO {

  /**
   * Salva um cliente no banco de dados SQL.
   *
   * @param cliente Cliente
   * @throws SQLException
   */
  public void save(Cliente cliente) throws SQLException;

  /**
   * Retorna todos os clientes existentes no banco de dados SQL.
   *
   * @throws SQLException
   * @return List
   */
  public List buscarTodos() throws SQLException;

  /**
   * Remove todos os clientes do banco de dados SQL.
   *
   * @throws SQLException
   */
  public void removerTodos() throws SQLException;

  /**
   * Remove um cliente do banco de dados SQL.
   *
   * @param cliente Cliente
   * @throws SQLException
   */
  public void remove(Cliente cliente) throws SQLException;

}
