package de.accso.flexinale.common.domain.model;

import de.accso.flexinale.common.shared_kernel.Identifiable;

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

@SuppressWarnings("unused")
public interface AbstractDao<E extends Identifiable> {
    List<E> findAll();

    Optional<E> findById(final Identifiable.Id id);

    E save(final E entity);

    void delete(final E data);
    void deleteById(final Identifiable.Id id);
    void deleteAll();
}
