package ru.hflabs.rcd.service; import ru.hflabs.rcd.RoleNames; import ru.hflabs.rcd.model.ManyToOne; import javax.annotation.security.RolesAllowed; import java.util.Collection; /** * Интерфейс <class>IManyToOneService</class> декларирует методы поиска документов по идентификатрам связанных сущностей * * @see ManyToOne */ public interface IManyToOneService<T extends ManyToOne<?>> { /** * Возвращает уникальное значение сущности по связанному идентификатору * * @param relativeId идентификатор связанной сущности * @param value имя сущности * @param fillTransitive флаг необходимости заполнения транзитивных зависимостей * @param quietly флаг безопасной проверки существования документа * @return Возвращает уникальное значение сущности */ @RolesAllowed(RoleNames.OPERATOR) T findUniqueByRelativeId(String relativeId, String value, boolean fillTransitive, boolean quietly); /** * Возвращает все сущности связанные с указанным идентификатором * * @param relativeId идентификатор связанной сущности * @param searchQuery строка поиска * @param fillTransitive флаг необходимости заполнения транзитивных зависимостей * @return Возвращает коллекцию найденных сущностей */ @RolesAllowed(RoleNames.OPERATOR) Collection<T> findAllByRelativeId(String relativeId, String searchQuery, boolean fillTransitive); }