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