Зачем использовать доступ по умолчанию для методов в общем интерфейсе DAO? - PullRequest
0 голосов
/ 15 августа 2011

Я нашел этот код для универсального интерфейса DAO при просмотре:

public interface GenericDAO<T, ID extends Serializable> {

    Class<T> getEntityClass();

    T findById(final ID id);

    List<T> findAll();
    List<T> findByExample(final T exampleInstance);

    List<T> findByNamedQuery(
        final String queryName,
        Object... params
    );

    List<T> findByNamedQueryAndNamedParams(
        final String queryName,
        final Map<String, ?extends Object> params
    );

    int countAll();

    int countByExample(final T exampleInstance);

    T save(final T entity);

    boolean delete(final T entity);
}

Есть ли какая-то причина, в частности, оставлять методы с модификатором доступа по умолчанию (класс / пакет: да, подкласс / мир:нет)?

PS: добавлен вопрос.Обычно идентификаторы встречаются в реализациях, которые не зависят от СУБД (XML, простой файл ...)?

1 Ответ

8 голосов
/ 15 августа 2011

Методы интерфейса неявно общедоступны.Таким образом, использование модификатора public является излишним и ненужным.

В Checkstyle даже есть правило для проверки того, что public не используется в интерфейсных методах.

...