1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package edu.internet2.middleware.shibboleth.common.config.attribute.resolver.attributeDefinition;
19
20 import java.util.List;
21 import java.util.Locale;
22 import java.util.Map;
23
24 import org.opensaml.xml.util.DatatypeHelper;
25
26 import edu.internet2.middleware.shibboleth.common.attribute.encoding.AttributeEncoder;
27 import edu.internet2.middleware.shibboleth.common.attribute.resolver.provider.attributeDefinition.BaseAttributeDefinition;
28 import edu.internet2.middleware.shibboleth.common.config.attribute.resolver.AbstractResolutionPluginFactoryBean;
29
30
31
32
33 public abstract class BaseAttributeDefinitionFactoryBean extends AbstractResolutionPluginFactoryBean {
34
35
36 private String sourceAttributeId;
37
38
39 private boolean dependencyOnly;
40
41
42 private List<AttributeEncoder> attributeEncoders;
43
44
45 private Map<Locale, String> displayNames;
46
47
48 private Map<Locale, String> displayDescriptions;
49
50
51
52
53
54
55 public List<AttributeEncoder> getAttributeEncoders() {
56 return attributeEncoders;
57 }
58
59
60
61
62
63
64 public Map<Locale, String> getDisplayDescriptions() {
65 return displayDescriptions;
66 }
67
68
69
70
71
72
73 public Map<Locale, String> getDisplayNames() {
74 return displayNames;
75 }
76
77
78
79
80
81
82 public String getSourceAttributeId() {
83 return sourceAttributeId;
84 }
85
86
87
88
89
90
91 public boolean isDependencyOnly() {
92 return dependencyOnly;
93 }
94
95
96
97
98
99
100 protected void populateAttributeDefinition(BaseAttributeDefinition definition) {
101 definition.setDependencyOnly(isDependencyOnly());
102
103 if (getDisplayNames() != null) {
104 definition.getDisplayNames().putAll(getDisplayNames());
105 }
106
107 if (getDisplayDescriptions() != null) {
108 definition.getDisplayDescriptions().putAll(getDisplayDescriptions());
109 }
110
111 if (getDependencyIds() != null) {
112 definition.getDependencyIds().addAll(getDependencyIds());
113 }
114
115 if (getAttributeEncoders() != null) {
116 definition.getAttributeEncoders().addAll(getAttributeEncoders());
117 }
118
119 definition.setId(getPluginId());
120 definition.setSourceAttributeID(getSourceAttributeId());
121 }
122
123
124
125
126
127
128 public void setAttributeEncoders(List<AttributeEncoder> encoders) {
129 attributeEncoders = encoders;
130 }
131
132
133
134
135
136
137 public void setDependencyOnly(boolean isDependencyOnly) {
138 dependencyOnly = isDependencyOnly;
139 }
140
141
142
143
144
145
146 public void setDisplayDescriptions(Map<Locale, String> descriptions) {
147 displayDescriptions = descriptions;
148 }
149
150
151
152
153
154
155 public void setDisplayNames(Map<Locale, String> names) {
156 displayNames = names;
157 }
158
159
160
161
162
163
164 public void setSourceAttributeId(String id) {
165 sourceAttributeId = DatatypeHelper.safeTrimOrNullString(id);
166 }
167 }