Clover Coverage Report - Kuali Student 1.2-M2-SNAPSHOT (Aggregated)
Coverage timestamp: Fri Apr 22 2011 04:03:20 EST
../../../../../../img/srcFileCovDistChart10.png 0% of files have more coverage
85   543   77   1.23
16   326   0.91   69
69     1.12  
1    
 
  CluInfo       Line # 45 85 0% 77 2 98.8% 0.9882353
 
  (107)
 
1    /**
2    * Copyright 2010 The Kuali Foundation Licensed under the
3    * Educational Community License, Version 2.0 (the "License"); you may
4    * not use this file except in compliance with the License. You may
5    * obtain a copy of the License at
6    *
7    * http://www.osedu.org/licenses/ECL-2.0
8    *
9    * Unless required by applicable law or agreed to in writing,
10    * software distributed under the License is distributed on an "AS IS"
11    * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12    * or implied. See the License for the specific language governing
13    * permissions and limitations under the License.
14    */
15   
16    package org.kuali.student.lum.lu.dto;
17   
18    import java.io.Serializable;
19    import java.util.ArrayList;
20    import java.util.Date;
21    import java.util.HashMap;
22    import java.util.List;
23    import java.util.Map;
24   
25    import javax.xml.bind.annotation.XmlAccessType;
26    import javax.xml.bind.annotation.XmlAccessorType;
27    import javax.xml.bind.annotation.XmlAttribute;
28    import javax.xml.bind.annotation.XmlElement;
29    import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
30   
31    import org.kuali.student.common.dto.AmountInfo;
32    import org.kuali.student.common.dto.HasAttributes;
33    import org.kuali.student.common.dto.HasTypeState;
34    import org.kuali.student.common.dto.Idable;
35    import org.kuali.student.common.dto.MetaInfo;
36    import org.kuali.student.common.dto.RichTextInfo;
37    import org.kuali.student.common.dto.TimeAmountInfo;
38    import org.kuali.student.common.versionmanagement.dto.VersionInfo;
39    import org.kuali.student.core.ws.binding.JaxbAttributeMapListAdapter;
40   
41    /**
42    *Detailed information about a single CLU.
43    */
44    @XmlAccessorType(XmlAccessType.FIELD)
 
45    public class CluInfo implements Serializable, Idable, HasTypeState, HasAttributes {
46   
47    private static final long serialVersionUID = 1L;
48   
49    @XmlElement
50    private CluIdentifierInfo officialIdentifier;
51   
52    @XmlElement
53    private List<CluIdentifierInfo> alternateIdentifiers;
54   
55    @XmlElement
56    private String studySubjectArea;
57   
58    @XmlElement
59    private RichTextInfo descr;
60   
61    @XmlElement
62    private List<String> campusLocations;
63   
64    @XmlElement
65    private List<AccreditationInfo> accreditations;
66   
67    @XmlElement
68    private List<AdminOrgInfo> adminOrgs;
69   
70    @XmlElement
71    private CluInstructorInfo primaryInstructor;
72   
73    @XmlElement
74    private List<CluInstructorInfo> instructors;
75   
76    @XmlElement
77    private String expectedFirstAtp;
78   
79    @XmlElement
80    private String lastAtp;
81   
82    @XmlElement
83    private String lastAdmitAtp;
84   
85    @XmlElement
86    private Date effectiveDate;
87   
88    @XmlElement
89    private Date expirationDate;
90   
91    @XmlElement
92    private AmountInfo intensity;
93   
94    @XmlElement
95    private TimeAmountInfo stdDuration;
96   
97    @XmlElement
98    private boolean canCreateLui;
99   
100    @XmlElement
101    private String referenceURL;
102   
103    @XmlElement
104    private List<LuCodeInfo> luCodes;
105   
106    @XmlElement
107    private String nextReviewPeriod;
108   
109    @XmlElement
110    private boolean isEnrollable;
111   
112    @XmlElement
113    private List<String> offeredAtpTypes;
114   
115    @XmlElement
116    private boolean hasEarlyDropDeadline;
117   
118    @XmlElement
119    private int defaultEnrollmentEstimate;
120   
121    @XmlElement
122    private int defaultMaximumEnrollment;
123   
124    @XmlElement
125    private boolean isHazardousForDisabledStudents;
126   
127    @XmlElement
128    private CluFeeInfo feeInfo;
129   
130    @XmlElement
131    private CluAccountingInfo accountingInfo;
132   
133    @XmlElement
134    @XmlJavaTypeAdapter(JaxbAttributeMapListAdapter.class)
135    private Map<String, String> attributes;
136   
137    @XmlElement
138    private MetaInfo metaInfo;
139   
140    @XmlElement
141    private VersionInfo versionInfo;
142   
143    @XmlAttribute
144    private String type;
145   
146    @XmlAttribute
147    private String state;
148   
149    @XmlAttribute
150    private String id;
151   
152   
153    /**
154    * Information related to the official identification of the clu, typically in human readable form. Used to officially reference or publish.
155    */
 
156  1987 toggle public CluIdentifierInfo getOfficialIdentifier() {
157  1987 return officialIdentifier;
158    }
159   
 
160  843 toggle public void setOfficialIdentifier(CluIdentifierInfo officialIdentifier) {
161  843 this.officialIdentifier = officialIdentifier;
162    }
163   
164    /**
165    * Information related to alternate identifications of the clu, typically in human readable form. Used to reference or publish.
166    */
 
167  849 toggle public List<CluIdentifierInfo> getAlternateIdentifiers() {
168  849 if (alternateIdentifiers == null) {
169  174 alternateIdentifiers = new ArrayList<CluIdentifierInfo>();
170    }
171  849 return alternateIdentifiers;
172    }
173   
 
174  553 toggle public void setAlternateIdentifiers(List<CluIdentifierInfo> alternateIdentifiers) {
175  553 this.alternateIdentifiers = alternateIdentifiers;
176    }
177   
178   
179    /**
180    * The Study Subject Area is used to identify the area of study associated with the clu. It may be a general study area (e.g. Chemistry) or very specific (e.g. Naval Architecture) depending on the level of specificity of the clu.
181    */
 
182  250 toggle public String getStudySubjectArea() {
183  250 return studySubjectArea;
184    }
185   
 
186  553 toggle public void setStudySubjectArea(String studySubjectArea) {
187  553 this.studySubjectArea = studySubjectArea;
188    }
189   
190    /**
191    * Narrative description of the CLU, used for the catalog.
192    */
 
193  597 toggle public RichTextInfo getDescr() {
194  597 return descr;
195    }
196   
 
197  642 toggle public void setDescr(RichTextInfo descr) {
198  642 this.descr = descr;
199    }
200   
201    /*
202    * Information around the accreditation of the clu.
203    */
 
204  332 toggle public List<AccreditationInfo> getAccreditations() {
205  332 if (accreditations == null) {
206  170 accreditations = new ArrayList<AccreditationInfo>();
207    }
208  332 return accreditations;
209    }
210   
 
211  1117 toggle public void setAccreditations(List<AccreditationInfo> accreditations) {
212  1117 this.accreditations = accreditations;
213    }
214   
215    /*
216    * Places where this clu might be offered
217    */
 
218  405 toggle public List<String> getCampusLocations() {
219  405 if (campusLocations == null) {
220  149 campusLocations = new ArrayList<String>();
221    }
222  405 return campusLocations;
223    }
224   
 
225  1166 toggle public void setCampusLocations(List<String> campusLocations) {
226  1166 this.campusLocations = campusLocations;
227    }
228   
 
229  1397 toggle public List<AdminOrgInfo> getAdminOrgs() {
230  1397 if (adminOrgs == null) {
231  142 adminOrgs = new ArrayList<AdminOrgInfo>();
232    }
233  1397 return adminOrgs;
234    }
235   
 
236  630 toggle public void setAdminOrgs(List<AdminOrgInfo> adminOrgs) {
237  630 this.adminOrgs = adminOrgs;
238    }
239   
240    /**
241    * Primary potential instructor for the clu. This is primarily for use in advertising the clu and may not be the actual instructor.
242    */
 
243  433 toggle public CluInstructorInfo getPrimaryInstructor() {
244  433 return primaryInstructor;
245    }
246   
 
247  581 toggle public void setPrimaryInstructor(CluInstructorInfo primaryInstructor) {
248  581 this.primaryInstructor = primaryInstructor;
249    }
250   
251    /**
252    * Instructors associated with this clu. This may not be an exhaustive list, and instead may only be used to indicate potential instructors in publication.
253    */
 
254  399 toggle public List<CluInstructorInfo> getInstructors() {
255  399 if (instructors == null) {
256  156 instructors = new ArrayList<CluInstructorInfo>();
257    }
258  399 return instructors;
259    }
260   
 
261  589 toggle public void setInstructors(List<CluInstructorInfo> instructors) {
262  589 this.instructors = instructors;
263    }
264   
265    /**
266    * Date and time the CLU became effective. This is a similar concept to the effective date on enumerated values. When an expiration date has been specified, this field must be less than or equal to the expiration date.
267    */
 
268  391 toggle public Date getEffectiveDate() {
269  391 return effectiveDate;
270    }
271   
 
272  617 toggle public void setEffectiveDate(Date effectiveDate) {
273  617 this.effectiveDate = effectiveDate;
274    }
275   
276    /**
277    * Date and time that this CLU expires. This is a similar concept to the expiration date on enumerated values. If specified, this should be greater than or equal to the effective date. If this field is not specified, then no expiration date has been currently defined and should automatically be considered greater than the effective date.
278    */
 
279  297 toggle public Date getExpirationDate() {
280  297 return expirationDate;
281    }
282   
 
283  582 toggle public void setExpirationDate(Date expirationDate) {
284  582 this.expirationDate = expirationDate;
285    }
286   
287    /*
288    * The expected level of time commitment between the student and the CLU meetings.
289    */
 
290  798 toggle public AmountInfo getIntensity() {
291  798 return intensity;
292    }
293   
 
294  715 toggle public void setIntensity(AmountInfo intensity) {
295  715 this.intensity = intensity;
296    }
297   
298    /**
299    * The standard duration of the learning unit.
300    */
 
301  824 toggle public TimeAmountInfo getStdDuration() {
302  824 return stdDuration;
303    }
304   
 
305  767 toggle public void setStdDuration(TimeAmountInfo stdDuration) {
306  767 this.stdDuration = stdDuration;
307    }
308   
309    /**
310    * Indicates if the CLU can be used to instantiate LUIs (offerings).
311    */
 
312  252 toggle public boolean isCanCreateLui() {
313  252 return canCreateLui;
314    }
315   
 
316  557 toggle public void setCanCreateLui(boolean canCreateLui) {
317  557 this.canCreateLui = canCreateLui;
318    }
319   
320    /**
321    * An URL for additional information about the CLU. This could be a reference to a document which might in turn have references to other documents (e.g. course syllabus provided by the faculty or department, standard schedule of classes, etc.).
322    */
 
323  484 toggle public String getReferenceURL() {
324  484 return referenceURL;
325    }
326   
 
327  607 toggle public void setReferenceURL(String referenceURL) {
328  607 this.referenceURL = referenceURL;
329    }
330   
331    /**
332    * List of LU code info structures. These are structures so that many different types of codes can be associated with the clu. This allows them to be put into categories.
333    */
 
334  992 toggle public List<LuCodeInfo> getLuCodes() {
335  992 if (luCodes == null) {
336  157 luCodes = new ArrayList<LuCodeInfo>();
337    }
338  992 return luCodes;
339    }
340   
 
341  605 toggle public void setLuCodes(List<LuCodeInfo> luCodes) {
342  605 this.luCodes = luCodes;
343    }
344   
345    /**
346    * When the next review should be
347    */
 
348  279 toggle public String getNextReviewPeriod() {
349  279 return nextReviewPeriod;
350    }
351   
 
352  579 toggle public void setNextReviewPeriod(String nextReviewPeriod) {
353  579 this.nextReviewPeriod = nextReviewPeriod;
354    }
355   
356    /**
357    * Indicates if Luis generated from this Clu are intended to be enrolled in by Students directly
358    */
 
359  253 toggle public boolean isEnrollable() {
360  253 return isEnrollable;
361    }
362   
 
363  557 toggle public void setEnrollable(boolean isEnrollable) {
364  557 this.isEnrollable = isEnrollable;
365    }
366   
367    /**
368    * The academic time period types in which this CLU is typically offered. Standard usage would equate to terms.
369    */
 
370  384 toggle public List<String> getOfferedAtpTypes() {
371  384 if (offeredAtpTypes == null) {
372  116 offeredAtpTypes = new ArrayList<String>();
373    }
374  384 return offeredAtpTypes;
375    }
376   
 
377  630 toggle public void setOfferedAtpTypes(List<String> offeredAtpTypes) {
378  630 this.offeredAtpTypes = offeredAtpTypes;
379    }
380   
381    /**
382    * Indicates if the CLU has an Early Drop Deadline (EDD). Certain courses are designated as such to maximize access to courses that have historically experienced high demand and high attrition. Default is "false".
383    */
 
384  252 toggle public boolean isHasEarlyDropDeadline() {
385  252 return hasEarlyDropDeadline;
386    }
387   
 
388  557 toggle public void setHasEarlyDropDeadline(boolean hasEarlyDropDeadline) {
389  557 this.hasEarlyDropDeadline = hasEarlyDropDeadline;
390    }
391   
392    /**
393    * Default enrollment estimate for this CLU.
394    */
 
395  398 toggle public int getDefaultEnrollmentEstimate() {
396  398 return defaultEnrollmentEstimate;
397    }
398   
 
399  655 toggle public void setDefaultEnrollmentEstimate(int defaultEnrollmentEstimate) {
400  655 this.defaultEnrollmentEstimate = defaultEnrollmentEstimate;
401    }
402   
403    /**
404    * Default maximum enrollment for this CLU.
405    */
 
406  252 toggle public int getDefaultMaximumEnrollment() {
407  252 return defaultMaximumEnrollment;
408    }
409   
 
410  557 toggle public void setDefaultMaximumEnrollment(int defaultMaximumEnrollment) {
411  557 this.defaultMaximumEnrollment = defaultMaximumEnrollment;
412    }
413   
414    /**
415    * Indicates if the CLU may be hazardous for students with disabilities. Would default to "false".
416    */
 
417  253 toggle public boolean isHazardousForDisabledStudents() {
418  253 return isHazardousForDisabledStudents;
419    }
420   
 
421  559 toggle public void setHazardousForDisabledStudents(boolean isHazardousForDisabledStudents) {
422  559 this.isHazardousForDisabledStudents = isHazardousForDisabledStudents;
423    }
424   
425    /**
426    * Fee information associated with this CLU.
427    */
 
428  656 toggle public CluFeeInfo getFeeInfo() {
429  656 return feeInfo;
430    }
431   
 
432  571 toggle public void setFeeInfo(CluFeeInfo feeInfo) {
433  571 this.feeInfo = feeInfo;
434    }
435   
436    /**
437    * Accounting information associated with this CLU.
438    */
 
439  564 toggle public CluAccountingInfo getAccountingInfo() {
440  564 return accountingInfo;
441    }
442   
 
443  571 toggle public void setAccountingInfo(CluAccountingInfo accountingInfo) {
444  571 this.accountingInfo = accountingInfo;
445    }
446   
447    /**
448    * List of key/value pairs, typically used for dynamic attributes.
449    */
 
450  708 toggle public Map<String, String> getAttributes() {
451  708 if (attributes == null) {
452  4 attributes = new HashMap<String, String>();
453    }
454  708 return attributes;
455    }
456   
 
457  798 toggle public void setAttributes(Map<String, String> attributes) {
458  798 this.attributes = attributes;
459    }
460   
461    /**
462    * Create and last update info for the structure. This is optional and treated as read only since the data is set by the internals of the service during maintenance operations.
463    */
 
464  488 toggle public MetaInfo getMetaInfo() {
465  488 return metaInfo;
466    }
467   
 
468  789 toggle public void setMetaInfo(MetaInfo metaInfo) {
469  789 this.metaInfo = metaInfo;
470    }
471   
472   
 
473  203 toggle public VersionInfo getVersionInfo() {
474  203 return versionInfo;
475    }
476   
 
477  602 toggle public void setVersionInfo(VersionInfo versionInfo) {
478  602 this.versionInfo = versionInfo;
479    }
480   
481    /**
482    * Unique identifier for a learning unit type. Once set at create time, this field may not be updated.
483    */
 
484  721 toggle public String getType() {
485  721 return type;
486    }
487   
 
488  996 toggle public void setType(String type) {
489  996 this.type = type;
490    }
491   
492    /**
493    * The current status of the clu. The values for this field are constrained to those in the luState enumeration. A separate setup operation does not exist for retrieval of the meta data around this value. This field may not be updated through updating this structure and must instead be updated through a dedicated operation.
494    */
 
495  698 toggle public String getState() {
496  698 return state;
497    }
498   
 
499  820 toggle public void setState(String state) {
500  820 this.state = state;
501    }
502   
503    /**
504    * Unique identifier for a Canonical Learning Unit (CLU). This is optional, due to the identifier being set at the time of creation. Once the CLU has been created, this should be seen as required.
505    */
 
506  1714 toggle public String getId() {
507  1714 return id;
508    }
509   
 
510  1007 toggle public void setId(String id) {
511  1007 this.id = id;
512    }
513   
 
514  560 toggle public String getExpectedFirstAtp() {
515  560 return expectedFirstAtp;
516    }
517   
 
518  630 toggle public void setExpectedFirstAtp(String expectedFirstAtp) {
519  630 this.expectedFirstAtp = expectedFirstAtp;
520    }
521   
 
522  560 toggle public String getLastAtp() {
523  560 return lastAtp;
524    }
525   
 
526  630 toggle public void setLastAtp(String lastAtp) {
527  630 this.lastAtp = lastAtp;
528    }
529   
 
530  515 toggle public String getLastAdmitAtp() {
531  515 return lastAdmitAtp;
532    }
533   
 
534  605 toggle public void setLastAdmitAtp(String lastAdmitAtp) {
535  605 this.lastAdmitAtp = lastAdmitAtp;
536    }
537   
 
538  0 toggle @Override
539    public String toString() {
540  0 return "CluInfo[id=" + id + ", type=" + type + "]";
541    }
542   
543    }