package edu.asu.spring.quadriga.service;
import java.util.List;
import edu.asu.spring.quadriga.domain.IQuadrigaRole;
/**
* Interface class that places restraints on the QuadrigaRoleManager class to
* implement the required behaviors.
*
* @author Ram Kumar Kumaresan
*
*/
public interface IQuadrigaRoleManager {
public final static String MAIN_ROLES = "main_roles";
public final static String PROJECT_ROLES = "project_roles";
public final static String CONCEPT_COLLECTION_ROLES = "collection_roles";
public final static String DICT_ROLES = "dict_roles";
public final static String WORKSPACE_ROLES = "workspace_roles";
/**
* Method to get the QuadrigaRole object based on RoleId.
*
* @param sQuadrigaRoleDBId
* The RoleId for which the corresponding QuadrigaRole object
* should be returned
* @return The corresponding QuadrigaRole object.
*/
public abstract IQuadrigaRole getQuadrigaRoleByDbId(String type, String sQuadrigaRoleDBId);
/**
* Returns the list of QuadrigaRoles used in the application context.
*
* @return List of QuadrigaRoles
*/
public abstract List<IQuadrigaRole> getQuadrigaRoles(String type);
/**
* Returns the role id used in the database for the given user role.
*
* @param sQuadrigaRoleId
* The quadriga role id of the user
* @return The database role id corresponding to the quadriga role
*/
public abstract String getQuadrigaRoleDBId(String type, String sQuadrigaRoleId);
public void fillQuadrigaRole(String type, IQuadrigaRole collaboratorRole);
public abstract IQuadrigaRole getQuadrigaRoleById(String type, String id);
public abstract List<IQuadrigaRole> getSelectableQuarigaRoles(String type);
}