1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.core.persistence.api.dao;
20
21 import java.util.Collection;
22 import java.util.List;
23 import java.util.Map;
24 import java.util.Set;
25 import org.apache.commons.lang3.tuple.Pair;
26 import org.apache.syncope.core.persistence.api.entity.AnyTypeClass;
27 import org.apache.syncope.core.persistence.api.entity.anyobject.AMembership;
28 import org.apache.syncope.core.persistence.api.entity.anyobject.AnyObject;
29 import org.apache.syncope.core.persistence.api.entity.group.Group;
30 import org.apache.syncope.core.persistence.api.entity.group.TypeExtension;
31 import org.apache.syncope.core.persistence.api.entity.user.UMembership;
32 import org.apache.syncope.core.persistence.api.entity.user.User;
33
34 public interface GroupDAO extends AnyDAO<Group> {
35
36 String findKey(String name);
37
38 Group findByName(String name);
39
40
41
42
43
44
45
46
47
48 void securityChecks(Set<String> authRealms, String key, String realm);
49
50 Map<String, Integer> countByRealm();
51
52 List<String> findKeysByNamePattern(String pattern);
53
54 List<Group> findOwnedByUser(String userKey);
55
56 List<Group> findOwnedByGroup(String groupKey);
57
58 List<AMembership> findAMemberships(Group group);
59
60 List<UMembership> findUMemberships(Group group);
61
62 List<TypeExtension> findTypeExtensions(AnyTypeClass anyTypeClass);
63
64 boolean existsAMembership(String anyObjectKey, String groupKey);
65
66 boolean existsUMembership(String userKey, String groupKey);
67
68 List<String> findAMembers(String groupKey);
69
70 List<String> findUMembers(String groupKey);
71
72 List<String> findADynMembers(Group group);
73
74 int countAMembers(String groupKey);
75
76 int countUMembers(String groupKey);
77
78 int countADynMembers(Group group);
79
80 int countUDynMembers(Group group);
81
82 @Override
83 Collection<String> findAllResourceKeys(String key);
84
85 void clearADynMembers(Group group);
86
87
88
89
90
91
92
93 Pair<Set<String>, Set<String>> refreshDynMemberships(AnyObject anyObject);
94
95
96
97
98
99
100
101 Set<String> removeDynMemberships(AnyObject anyObject);
102
103 List<String> findUDynMembers(Group group);
104
105 void clearUDynMembers(Group group);
106
107
108
109
110
111
112
113 Pair<Set<String>, Set<String>> refreshDynMemberships(User user);
114
115
116
117
118
119
120
121 Set<String> removeDynMemberships(User user);
122
123
124
125
126
127
128
129 Group saveAndRefreshDynMemberships(Group group);
130 }