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.List;
22 import java.util.regex.Pattern;
23 import org.apache.syncope.core.persistence.api.entity.ExternalResource;
24 import org.apache.syncope.core.persistence.api.entity.Implementation;
25 import org.apache.syncope.core.persistence.api.entity.Realm;
26 import org.apache.syncope.core.persistence.api.entity.policy.Policy;
27
28 public interface RealmDAO extends DAO<Realm> {
29
30 Pattern NAME_PATTERN = Pattern.compile("^[A-Za-z0-9~]+");
31
32 Pattern PATH_PATTERN = Pattern.compile("^(/[A-Za-z0-9~]+)+");
33
34 Realm getRoot();
35
36 Realm find(String key);
37
38 Realm findByFullPath(String fullPath);
39
40 List<Realm> findByName(String name);
41
42 List<Realm> findByResource(ExternalResource resource);
43
44 int countDescendants(String base, String keyword);
45
46 List<Realm> findDescendants(String base, String keyword, int page, int itemsPerPage);
47
48 List<String> findDescendants(String base, String prefix);
49
50 <T extends Policy> List<Realm> findByPolicy(T policy);
51
52 List<Realm> findByLogicActions(Implementation logicActions);
53
54 List<Realm> findAncestors(Realm realm);
55
56 List<Realm> findChildren(Realm realm);
57
58 int count();
59
60 List<String> findAllKeys(int page, int itemsPerPage);
61
62 Realm save(Realm realm);
63
64 void delete(Realm realm);
65 }