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, PaginationWithCriteriaEntity, PaginationWithSearchEntity, GenericReportingManagerIFaces { /** * 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 formaterDonnees(List liste); }