package fi.arcusys.koku.common.service; import java.util.Date; import java.util.List; import fi.arcusys.koku.common.service.datamodel.Request; import fi.arcusys.koku.common.service.datamodel.RequestTemplate; import fi.arcusys.koku.common.service.datamodel.User; /** * DAO interface for CRUD operations with 'Request' Entity * * @author Dmitry Kudinov (dmitry.kudinov@arcusys.fi) * Jun 23, 2011 */ public interface RequestDAO extends AbstractEntityDAO<Request> { /** * @param userId * @param startNum * @param maxNum * @return */ List<Request> getRequestsByUserAndRoles(User user, List<String> userRoles, int startNum, int maxResults); /** * @param template * @return */ Long getTotalByTemplate(RequestTemplate template); /** * @param user * @return */ Long getTotalRequestsByUserAndRoles(User user, List<String> userRoles); /** * @param userByUid * @param startNum * @param maxNum * @return */ List<Request> getOldRequestsByUserAndRoles(User userByUid, List<String> userRoles, int startNum, int maxResults); /** * @param userByUid * @return */ Long getTotalOldRequestsByUserAndRoles(User userByUid, List<String> userRoles); /** * @param time * @return */ List<Request> getOpenRequestsByNotifyDate(Date time); }