package edu.asu.spring.quadriga.service.user.mapper; import java.util.List; import edu.asu.spring.quadriga.domain.IUser; import edu.asu.spring.quadriga.exceptions.QuadrigaStorageException; public interface IUserDeepMapper { /** * Retrieves the user details for the given userid * @param userName {@link IUser} name of type {@link String} * @return null - if the user is not present in the quadriga DB else IUser - User object containing the user details. * @throws QuadrigaStorageException Exception will be thrown when the input parameters do not satisfy the system/database constraints or due to database connection troubles. */ public abstract IUser getUser(String userName) throws QuadrigaStorageException; /** * Retrieves the {@link List} of {@link IUser} object which are active users in Quadriga. * @return {@link List} of {@link IUser} objects which are active users in quadriga. * @throws QuadrigaStorageException Exception will be thrown when the input parameters do not satisfy the system/database constraints or due to database connection troubles. */ public abstract List<IUser> getAllActiveUsers() throws QuadrigaStorageException; /** * Retrieves the {@link List} of {@link IUser} object which are inactive users in Quadriga. * @return {@link List} of {@link IUser} objects which are inactive users in quadriga. * @throws QuadrigaStorageException Exception will be thrown when the input parameters do not satisfy the system/database constraints or due to database connection troubles. */ public abstract List<IUser> getAllInActiveUsers() throws QuadrigaStorageException; /** * * @return * @throws QuadrigaStorageException Exception will be thrown when the input parameters do not satisfy the system/database constraints or due to database connection troubles. */ public abstract List<IUser> getUserRequests() throws QuadrigaStorageException; /** * * @param roleId * @return * @throws QuadrigaStorageException Exception will be thrown when the input parameters do not satisfy the system/database constraints or due to database connection troubles. */ public abstract List<IUser> getUsersByRoleId(String roleId) throws QuadrigaStorageException; }