1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package edu.internet2.middleware.shibboleth.common.attribute.resolver.provider.dataConnector;
19
20 import java.util.List;
21 import java.util.Map;
22
23 import edu.internet2.middleware.shibboleth.common.attribute.BaseAttribute;
24 import edu.internet2.middleware.shibboleth.common.attribute.resolver.AttributeResolutionException;
25 import edu.internet2.middleware.shibboleth.common.attribute.resolver.provider.ShibbolethResolutionContext;
26
27
28
29
30
31 public class ContextualDataConnector implements DataConnector {
32
33
34 private DataConnector connector;
35
36
37 private Map<String, BaseAttribute> attributes;
38
39
40
41
42
43
44 public ContextualDataConnector(DataConnector newConnector) {
45 this.connector = newConnector;
46 }
47
48
49 public boolean equals(Object obj) {
50 return connector.equals(obj);
51 }
52
53
54 public int hashCode() {
55 return connector.hashCode();
56 }
57
58
59 public List<String> getDependencyIds() {
60 return connector.getDependencyIds();
61 }
62
63
64 public String getFailoverDependencyId() {
65 return connector.getFailoverDependencyId();
66 }
67
68
69 public String getId() {
70 return connector.getId();
71 }
72
73
74 public Map<String, BaseAttribute> resolve(ShibbolethResolutionContext resolutionContext)
75 throws AttributeResolutionException {
76 if (attributes == null) {
77 attributes = connector.resolve(resolutionContext);
78 }
79
80 return attributes;
81 }
82
83
84 public void validate() throws AttributeResolutionException {
85 connector.validate();
86 }
87 }