package com.megatim.fdxconsultation.core.ifaces.administration;
|
|
import com.megatim.fdxcommons.model.pojo.CriteriaEntityFromView;
|
import com.megatim.fdxconsultation.core.ifaces.abtracts.GenericCrudManagerIFaces;
|
import com.megatim.fdxconsultation.core.ifaces.abtracts.GenericReportingManagerIFaces;
|
import com.megatim.fdxconsultation.core.ifaces.abtracts.PaginationWithCriteriaEntity;
|
import com.megatim.fdxconsultation.core.ifaces.abtracts.PaginationWithSearchEntity;
|
import com.megatim.fdxconsultation.model.administration.Role;
|
import com.megatim.fdxconsultation.reporting.model.administration.RoleReporting;
|
import com.megatim.fdxconsultation.model.administration.User;
|
import com.megatim.fdxconsultation.model.dto.RoleDto;
|
import com.megatim.fdxconsultation.model.searchentities.RoleSearch;
|
import java.util.List;
|
|
/**
|
* Interface etendue par les interfaces locale et remote du manager
|
*
|
* @since Tue Jan 09 15:21:42 WAT 2018
|
*
|
*/
|
public interface RoleManager extends GenericCrudManagerIFaces<Role, RoleDto, RoleDto, Long, RoleSearch>,
|
PaginationWithCriteriaEntity<Role, Long>,
|
PaginationWithSearchEntity<Role, Long, RoleSearch>,
|
GenericReportingManagerIFaces<RoleReporting, CriteriaEntityFromView, Long> {
|
|
/**
|
* Methode permet de valider un rôle
|
* @param libelle
|
* @param connectedUser
|
*/
|
void validate(String libelle, User connectedUser);
|
|
/**
|
* Methode permet de rejeter un rôle
|
* @param libelle
|
* @param role
|
* @param connectedUser
|
*/
|
void reject(String libelle, Role role, User connectedUser);
|
|
/**
|
* Methode permettant de vérifier si un rôle possède des utilisateurs liés à lui
|
* @param role
|
* @return
|
*/
|
public boolean siPossedeUtilisateurs(Role role);
|
|
/**
|
* Methode permettant de determiner le nombre d'utilisateur d'un groupe
|
* @param entity
|
* @return
|
*/
|
public Integer obtenirNbreUtilisateurRole(Role entity);
|
|
/**
|
* Methode permettant de formater une liste de roles en y ajoutant des informations supplémentaires
|
* @param liste
|
* @return
|
*/
|
public List<Role> formaterDonnees(List<Role> liste);
|
|
}
|