package danielcortes.xyz.models.tipo_detalle;

import java.util.List;
import java.util.Optional;

public interface TipoDetalleDAO {

  /**
   * Obtiene todos los tipo detalle
   *
   * @return Una lista con los tipo detalle obtenidos
   */
  List<TipoDetalle> getAll();

  /**
   * Obtiene un tipo detalle por su id
   * @return Dado que no puede que no exista se devuelve un Optional que puede contener el tipo
   * detalle o puede estar vacio
   */
  Optional<TipoDetalle> getById(int id);

  /**
   * Obtiene un tipo detalle por su nombre
   * @return Dado que no puede que no exista se devuelve un Optional que puede contener el tipo
   * detalle o puede estar vacio
   */
  Optional<TipoDetalle> getByNombre(String nombre);
}
