Как сделать универсальные интерфейсы в классах дао - PullRequest
0 голосов
/ 11 октября 2019

У меня есть 3 равных интерфейса с методами equals, но он возвращает различное значение в зависимости от сущности. У меня есть те же методы интерфейсов в этих трех классах (учитель, группа, ученик).

Я предлагаю посмотреть пример интерфейса GroupDao.

public interface GroupDao {
    void add(Group group);
    List<Group> getGroupsList();
    void update(Group group);
    Group findById(Long groupId);
    void delete(Long groupId);
}

И я хочу объединить это для одного интерфейса, как

public interface EntitiesDao {
    void add({generic} entity);
    List<{generic}> getList();
    void update({generic} entity);
    {generic} findById(Long entityId);
    void delete(Long entityId);
}

Как я могу это сделать? Заранее спасибо

1 Ответ

3 голосов
/ 11 октября 2019

Для этого вам следует использовать дженерики.

public interface EntitiesDao<T> 
{
    void add(T entity);
    List<T> getList();
    void update(T entity);
    T findById(Long entityId);
    void delete(Long entityId);
}
...