1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.opensaml.ws.security.provider;
18
19 import java.util.Collections;
20 import java.util.List;
21
22 import org.opensaml.ws.message.MessageContext;
23 import org.opensaml.ws.security.SecurityPolicy;
24 import org.opensaml.ws.security.SecurityPolicyResolver;
25 import org.opensaml.xml.security.SecurityException;
26 import org.opensaml.xml.util.LazyList;
27
28
29 public class StaticSecurityPolicyResolver implements SecurityPolicyResolver {
30
31
32 private List<SecurityPolicy> securityPolicies;
33
34
35
36
37
38
39 public StaticSecurityPolicyResolver(SecurityPolicy policy) {
40 securityPolicies = new LazyList<SecurityPolicy>();
41 if(policy != null){
42 securityPolicies.add(policy);
43 }
44 }
45
46
47
48
49
50
51 public StaticSecurityPolicyResolver(List<SecurityPolicy> policies) {
52 securityPolicies = new LazyList<SecurityPolicy>();
53 if(policies != null){
54 securityPolicies.addAll(policies);
55 }
56 }
57
58
59 public Iterable<SecurityPolicy> resolve(MessageContext criteria) throws SecurityException {
60 return Collections.unmodifiableList(securityPolicies);
61 }
62
63
64
65
66
67
68 public SecurityPolicy resolveSingle(MessageContext criteria) throws SecurityException {
69 if (!securityPolicies.isEmpty()) {
70 return securityPolicies.get(0);
71 } else {
72 return null;
73 }
74 }
75 }