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 org.apache.syncope.core.persistence.api.entity.ExternalResource;
23 import org.apache.syncope.core.persistence.api.entity.Implementation;
24 import org.apache.syncope.core.persistence.api.entity.policy.AccountPolicy;
25 import org.apache.syncope.core.persistence.api.entity.policy.PasswordPolicy;
26 import org.apache.syncope.core.persistence.api.entity.policy.Policy;
27 import org.apache.syncope.core.persistence.api.entity.policy.PullPolicy;
28 import org.apache.syncope.core.persistence.api.entity.policy.PushPolicy;
29
30 public interface PolicyDAO extends DAO<Policy> {
31
32 <T extends Policy> T find(String key);
33
34 <T extends Policy> List<T> find(Class<T> reference);
35
36 List<AccountPolicy> findByAccountRule(Implementation accountRule);
37
38 List<PasswordPolicy> findByPasswordRule(Implementation passwordRule);
39
40 List<PullPolicy> findByPullCorrelationRule(Implementation correlationRule);
41
42 List<PushPolicy> findByPushCorrelationRule(Implementation correlationRule);
43
44 List<AccountPolicy> findByResource(ExternalResource resource);
45
46 List<Policy> findAll();
47
48 <T extends Policy> T save(T policy);
49
50 <T extends Policy> void delete(T policy);
51 }