1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package edu.internet2.middleware.shibboleth.common.attribute.resolver.provider.attributeDefinition;
18
19 import java.util.List;
20 import java.util.Locale;
21 import java.util.Map;
22
23 import edu.internet2.middleware.shibboleth.common.attribute.BaseAttribute;
24 import edu.internet2.middleware.shibboleth.common.attribute.encoding.AttributeEncoder;
25 import edu.internet2.middleware.shibboleth.common.attribute.resolver.AttributeResolutionException;
26 import edu.internet2.middleware.shibboleth.common.attribute.resolver.provider.ShibbolethResolutionContext;
27
28
29
30
31
32 public class ContextualAttributeDefinition implements AttributeDefinition {
33
34
35 private AttributeDefinition definition;
36
37
38 private BaseAttribute attribute;
39
40
41
42
43
44
45 public ContextualAttributeDefinition(AttributeDefinition newDefinition) {
46 definition = newDefinition;
47 }
48
49
50 public boolean equals(Object obj) {
51 return definition.equals(obj);
52 }
53
54
55 public List<AttributeEncoder> getAttributeEncoders() {
56 return definition.getAttributeEncoders();
57 }
58
59
60 public List<String> getDependencyIds() {
61 return definition.getDependencyIds();
62 }
63
64
65 public Map<Locale, String> getDisplayDescriptions() {
66 return definition.getDisplayDescriptions();
67 }
68
69
70 public Map<Locale, String> getDisplayNames() {
71 return definition.getDisplayNames();
72 }
73
74
75 public String getId() {
76 return definition.getId();
77 }
78
79
80 public int hashCode() {
81 return definition.hashCode();
82 }
83
84
85 public boolean isDependencyOnly() {
86 return definition.isDependencyOnly();
87 }
88
89
90 public BaseAttribute resolve(ShibbolethResolutionContext resolutionContext) throws AttributeResolutionException {
91 if (attribute == null) {
92 attribute = definition.resolve(resolutionContext);
93 }
94
95 return attribute;
96 }
97
98
99 public void validate() throws AttributeResolutionException {
100 definition.validate();
101 }
102 }