Kenmegne
7 days ago 23a46b4be35277e06ec89f48730eeb694e686be8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
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);
    
}