package ru.hflabs.rcd.service; import ru.hflabs.rcd.RoleNames; import ru.hflabs.rcd.model.Identifying; import javax.annotation.security.RolesAllowed; import java.util.Collection; /** * Интерфейс <class>IChangeService</class> декларирует методы для изменения документов * * @see Identifying */ public interface IChangeService<E extends Identifying> extends ISingleClassObserver<E> { /** * Создает документы * * @param objects коллекция создаваемых документов * @param needValidation флаг, указывающий на необходимость валидации создаваемых документов * @return Возвращает созданную коллекцию документов */ @RolesAllowed(RoleNames.ADMINISTRATOR) Collection<E> create(Collection<E> objects, boolean needValidation); /** * Обновляет существующие документы * * @param objects коллекция документов для обновления * @param needValidation флаг, указывающий на необходимость валидации обновляемых документов * @return Возвращает обновленные документы */ @RolesAllowed(RoleNames.ADMINISTRATOR) Collection<E> update(Collection<E> objects, boolean needValidation); /** * Закрывает документы * * @param objects коллекция документов для закрытия * @param needValidation флаг, указывающий на необходимость валидации удаляемых документов * @return Возвращает обновленные документы */ @RolesAllowed(RoleNames.ADMINISTRATOR) Collection<E> close(Collection<E> objects, boolean needValidation); }