1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.rice.krad.datadictionary;
17
18 import java.util.List;
19
20 import org.kuali.rice.krad.bo.Exporter;
21 import org.kuali.rice.krad.datadictionary.parse.BeanTag;
22 import org.kuali.rice.krad.datadictionary.parse.BeanTagAttribute;
23 import org.kuali.rice.krad.datadictionary.validation.capability.MustOccurConstrainable;
24 import org.kuali.rice.krad.datadictionary.validation.constraint.MustOccurConstraint;
25 import org.kuali.rice.krad.datadictionary.validator.ValidationTrace;
26 import org.kuali.rice.krad.service.KRADServiceLocatorWeb;
27
28
29
30
31
32
33
34 @BeanTag(name = "dataObjectEntry")
35 public class DataObjectEntry extends DataDictionaryEntryBase implements MustOccurConstrainable {
36 private static final org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(DataObjectEntry.class);
37 private static final long serialVersionUID = 1L;
38
39 protected String name;
40 protected Class<?> dataObjectClass;
41 protected Class<?> baseDataObjectClass;
42
43 protected String titleAttribute;
44 protected String objectLabel;
45 protected String objectDescription;
46
47 protected List<String> primaryKeys;
48 protected Class<? extends Exporter> exporterClass;
49
50 protected List<MustOccurConstraint> mustOccurConstraints;
51
52 protected List<String> groupByAttributesForEffectiveDating;
53
54 protected HelpDefinition helpDefinition;
55
56 protected boolean boNotesEnabled = false;
57
58 protected List<InactivationBlockingDefinition> inactivationBlockingDefinitions;
59
60 @Override
61 public void completeValidation() {
62 completeValidation( new ValidationTrace() );
63 }
64
65
66
67
68
69
70 @Override
71 public void completeValidation(ValidationTrace tracer) {
72 super.completeValidation(tracer);
73 }
74
75
76
77
78 @Override
79 public String getJstlKey() {
80 if (dataObjectClass == null) {
81 throw new IllegalStateException("cannot generate JSTL key: dataObjectClass is null");
82 }
83
84 return dataObjectClass.getSimpleName();
85 }
86
87
88
89
90 @Override
91 public String getFullClassName() {
92 return dataObjectClass.getName();
93 }
94
95
96
97
98 @Override
99 public Class<?> getEntryClass() {
100 return dataObjectClass;
101 }
102
103
104
105
106 @BeanTagAttribute
107 public Class<?> getDataObjectClass() {
108 return this.dataObjectClass;
109 }
110
111
112
113
114 public void setDataObjectClass(Class<?> dataObjectClass) {
115 this.dataObjectClass = dataObjectClass;
116 }
117
118
119
120
121
122
123
124 public void setBaseDataObjectClass(Class<?> baseDataObjectClass) {
125 this.baseDataObjectClass = baseDataObjectClass;
126 }
127
128 @BeanTagAttribute(name = "baseDataObjectClass")
129 public Class<?> getBaseDataObjectClass() {
130 return baseDataObjectClass;
131 }
132
133
134
135
136 @Override
137 @BeanTagAttribute
138 public String getName() {
139 return this.name;
140 }
141
142
143
144
145 public void setName(String name) {
146 this.name = name;
147 }
148
149
150
151
152 @BeanTagAttribute
153 public String getObjectLabel() {
154
155 if ( objectLabel != null ) {
156 return objectLabel;
157 }
158
159 if ( getDataObjectMetadata() != null ) {
160 return getDataObjectMetadata().getLabel();
161 }
162 return KRADServiceLocatorWeb.getUifDefaultingService().deriveHumanFriendlyNameFromPropertyName( dataObjectClass.getSimpleName() );
163 }
164
165
166
167
168
169
170
171 public void setObjectLabel(String objectLabel) {
172 this.objectLabel = objectLabel;
173 }
174
175
176
177
178 @BeanTagAttribute
179 public String getObjectDescription() {
180 if ( objectDescription != null ) {
181 return objectDescription;
182 }
183 if ( getDataObjectMetadata() != null ) {
184 return getDataObjectMetadata().getDescription();
185 }
186 return "";
187 }
188
189
190
191
192
193
194
195 public void setObjectDescription(String objectDescription) {
196 this.objectDescription = objectDescription;
197 }
198
199
200
201
202
203
204 @BeanTagAttribute(type = BeanTagAttribute.AttributeType.DIRECTORBYTYPE)
205 public HelpDefinition getHelpDefinition() {
206 return helpDefinition;
207 }
208
209
210
211
212
213
214
215
216
217
218
219
220
221 public void setHelpDefinition(HelpDefinition helpDefinition) {
222 this.helpDefinition = helpDefinition;
223 }
224
225
226
227
228 @Override
229 @BeanTagAttribute
230 public List<MustOccurConstraint> getMustOccurConstraints() {
231 return this.mustOccurConstraints;
232 }
233
234
235
236
237 public void setMustOccurConstraints(List<MustOccurConstraint> mustOccurConstraints) {
238 this.mustOccurConstraints = mustOccurConstraints;
239 }
240
241
242
243
244 @BeanTagAttribute
245 public String getTitleAttribute() {
246 if ( titleAttribute != null ) {
247 return titleAttribute;
248 }
249 if ( getDataObjectMetadata() != null ) {
250 return getDataObjectMetadata().getPrimaryDisplayAttributeName();
251 }
252 return null;
253 }
254
255
256
257
258
259
260
261
262
263
264 public void setTitleAttribute(String titleAttribute) {
265 this.titleAttribute = titleAttribute;
266 }
267
268
269
270
271 @BeanTagAttribute
272 public List<String> getPrimaryKeys() {
273 if ( primaryKeys != null ) {
274 return primaryKeys;
275 }
276 if ( getDataObjectMetadata() != null ) {
277 return getDataObjectMetadata().getPrimaryKeyAttributeNames();
278 }
279 return null;
280 }
281
282
283
284
285 public void setPrimaryKeys(List<String> primaryKeys) {
286 this.primaryKeys = primaryKeys;
287 }
288
289 @BeanTagAttribute
290 public Class<? extends Exporter> getExporterClass() {
291 return this.exporterClass;
292 }
293
294 public void setExporterClass(Class<? extends Exporter> exporterClass) {
295 this.exporterClass = exporterClass;
296 }
297
298
299
300
301
302
303
304 @BeanTagAttribute
305 public List<String> getGroupByAttributesForEffectiveDating() {
306 return this.groupByAttributesForEffectiveDating;
307 }
308
309
310
311
312
313
314 public void setGroupByAttributesForEffectiveDating(List<String> groupByAttributesForEffectiveDating) {
315 this.groupByAttributesForEffectiveDating = groupByAttributesForEffectiveDating;
316 }
317
318
319
320
321
322
323
324
325
326
327
328
329
330 @BeanTagAttribute
331 public boolean isBoNotesEnabled() {
332 return boNotesEnabled;
333 }
334
335
336
337
338 public void setBoNotesEnabled(boolean boNotesEnabled) {
339 this.boNotesEnabled = boNotesEnabled;
340 }
341
342
343
344
345
346
347 @BeanTagAttribute
348 public List<InactivationBlockingDefinition> getInactivationBlockingDefinitions() {
349 return this.inactivationBlockingDefinitions;
350 }
351
352
353
354
355 public void setInactivationBlockingDefinitions(
356 List<InactivationBlockingDefinition> inactivationBlockingDefinitions) {
357 this.inactivationBlockingDefinitions = inactivationBlockingDefinitions;
358 }
359 }