Clover Coverage Report - KS LUM API 1.1.0-M10-SNAPSHOT
Coverage timestamp: Wed Dec 31 1969 19:00:00 EST
../../../../../../img/srcFileCovDistChart0.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 170 0% 0.0
 
No Tests
 
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.core.dto.AmountInfo;
32    import org.kuali.student.core.dto.HasAttributes;
33    import org.kuali.student.core.dto.HasTypeState;
34    import org.kuali.student.core.dto.Idable;
35    import org.kuali.student.core.dto.MetaInfo;
36    import org.kuali.student.core.dto.RichTextInfo;
37    import org.kuali.student.core.dto.TimeAmountInfo;
38    import org.kuali.student.core.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  0 toggle public CluIdentifierInfo getOfficialIdentifier() {
157  0 return officialIdentifier;
158    }
159   
 
160  0 toggle public void setOfficialIdentifier(CluIdentifierInfo officialIdentifier) {
161  0 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  0 toggle public List<CluIdentifierInfo> getAlternateIdentifiers() {
168  0 if (alternateIdentifiers == null) {
169  0 alternateIdentifiers = new ArrayList<CluIdentifierInfo>();
170    }
171  0 return alternateIdentifiers;
172    }
173   
 
174  0 toggle public void setAlternateIdentifiers(List<CluIdentifierInfo> alternateIdentifiers) {
175  0 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  0 toggle public String getStudySubjectArea() {
183  0 return studySubjectArea;
184    }
185   
 
186  0 toggle public void setStudySubjectArea(String studySubjectArea) {
187  0 this.studySubjectArea = studySubjectArea;
188    }
189   
190    /**
191    * Narrative description of the CLU, used for the catalog.
192    */
 
193  0 toggle public RichTextInfo getDescr() {
194  0 return descr;
195    }
196   
 
197  0 toggle public void setDescr(RichTextInfo descr) {
198  0 this.descr = descr;
199    }
200   
201    /*
202    * Information around the accreditation of the clu.
203    */
 
204  0 toggle public List<AccreditationInfo> getAccreditations() {
205  0 if (accreditations == null) {
206  0 accreditations = new ArrayList<AccreditationInfo>();
207    }
208  0 return accreditations;
209    }
210   
 
211  0 toggle public void setAccreditations(List<AccreditationInfo> accreditations) {
212  0 this.accreditations = accreditations;
213    }
214   
215    /*
216    * Places where this clu might be offered
217    */
 
218  0 toggle public List<String> getCampusLocations() {
219  0 if (campusLocations == null) {
220  0 campusLocations = new ArrayList<String>();
221    }
222  0 return campusLocations;
223    }
224   
 
225  0 toggle public void setCampusLocations(List<String> campusLocations) {
226  0 this.campusLocations = campusLocations;
227    }
228   
 
229  0 toggle public List<AdminOrgInfo> getAdminOrgs() {
230  0 if (adminOrgs == null) {
231  0 adminOrgs = new ArrayList<AdminOrgInfo>();
232    }
233  0 return adminOrgs;
234    }
235   
 
236  0 toggle public void setAdminOrgs(List<AdminOrgInfo> adminOrgs) {
237  0 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  0 toggle public CluInstructorInfo getPrimaryInstructor() {
244  0 return primaryInstructor;
245    }
246   
 
247  0 toggle public void setPrimaryInstructor(CluInstructorInfo primaryInstructor) {
248  0 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  0 toggle public List<CluInstructorInfo> getInstructors() {
255  0 if (instructors == null) {
256  0 instructors = new ArrayList<CluInstructorInfo>();
257    }
258  0 return instructors;
259    }
260   
 
261  0 toggle public void setInstructors(List<CluInstructorInfo> instructors) {
262  0 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  0 toggle public Date getEffectiveDate() {
269  0 return effectiveDate;
270    }
271   
 
272  0 toggle public void setEffectiveDate(Date effectiveDate) {
273  0 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  0 toggle public Date getExpirationDate() {
280  0 return expirationDate;
281    }
282   
 
283  0 toggle public void setExpirationDate(Date expirationDate) {
284  0 this.expirationDate = expirationDate;
285    }
286   
287    /*
288    * The expected level of time commitment between the student and the CLU meetings.
289    */
 
290  0 toggle public AmountInfo getIntensity() {
291  0 return intensity;
292    }
293   
 
294  0 toggle public void setIntensity(AmountInfo intensity) {
295  0 this.intensity = intensity;
296    }
297   
298    /**
299    * The standard duration of the learning unit.
300    */
 
301  0 toggle public TimeAmountInfo getStdDuration() {
302  0 return stdDuration;
303    }
304   
 
305  0 toggle public void setStdDuration(TimeAmountInfo stdDuration) {
306  0 this.stdDuration = stdDuration;
307    }
308   
309    /**
310    * Indicates if the CLU can be used to instantiate LUIs (offerings).
311    */
 
312  0 toggle public boolean isCanCreateLui() {
313  0 return canCreateLui;
314    }
315   
 
316  0 toggle public void setCanCreateLui(boolean canCreateLui) {
317  0 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  0 toggle public String getReferenceURL() {
324  0 return referenceURL;
325    }
326   
 
327  0 toggle public void setReferenceURL(String referenceURL) {
328  0 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  0 toggle public List<LuCodeInfo> getLuCodes() {
335  0 if (luCodes == null) {
336  0 luCodes = new ArrayList<LuCodeInfo>();
337    }
338  0 return luCodes;
339    }
340   
 
341  0 toggle public void setLuCodes(List<LuCodeInfo> luCodes) {
342  0 this.luCodes = luCodes;
343    }
344   
345    /**
346    * When the next review should be
347    */
 
348  0 toggle public String getNextReviewPeriod() {
349  0 return nextReviewPeriod;
350    }
351   
 
352  0 toggle public void setNextReviewPeriod(String nextReviewPeriod) {
353  0 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  0 toggle public boolean isEnrollable() {
360  0 return isEnrollable;
361    }
362   
 
363  0 toggle public void setEnrollable(boolean isEnrollable) {
364  0 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  0 toggle public List<String> getOfferedAtpTypes() {
371  0 if (offeredAtpTypes == null) {
372  0 offeredAtpTypes = new ArrayList<String>();
373    }
374  0 return offeredAtpTypes;
375    }
376   
 
377  0 toggle public void setOfferedAtpTypes(List<String> offeredAtpTypes) {
378  0 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  0 toggle public boolean isHasEarlyDropDeadline() {
385  0 return hasEarlyDropDeadline;
386    }
387   
 
388  0 toggle public void setHasEarlyDropDeadline(boolean hasEarlyDropDeadline) {
389  0 this.hasEarlyDropDeadline = hasEarlyDropDeadline;
390    }
391   
392    /**
393    * Default enrollment estimate for this CLU.
394    */
 
395  0 toggle public int getDefaultEnrollmentEstimate() {
396  0 return defaultEnrollmentEstimate;
397    }
398   
 
399  0 toggle public void setDefaultEnrollmentEstimate(int defaultEnrollmentEstimate) {
400  0 this.defaultEnrollmentEstimate = defaultEnrollmentEstimate;
401    }
402   
403    /**
404    * Default maximum enrollment for this CLU.
405    */
 
406  0 toggle public int getDefaultMaximumEnrollment() {
407  0 return defaultMaximumEnrollment;
408    }
409   
 
410  0 toggle public void setDefaultMaximumEnrollment(int defaultMaximumEnrollment) {
411  0 this.defaultMaximumEnrollment = defaultMaximumEnrollment;
412    }
413   
414    /**
415    * Indicates if the CLU may be hazardous for students with disabilities. Would default to "false".
416    */
 
417  0 toggle public boolean isHazardousForDisabledStudents() {
418  0 return isHazardousForDisabledStudents;
419    }
420   
 
421  0 toggle public void setHazardousForDisabledStudents(boolean isHazardousForDisabledStudents) {
422  0 this.isHazardousForDisabledStudents = isHazardousForDisabledStudents;
423    }
424   
425    /**
426    * Fee information associated with this CLU.
427    */
 
428  0 toggle public CluFeeInfo getFeeInfo() {
429  0 return feeInfo;
430    }
431   
 
432  0 toggle public void setFeeInfo(CluFeeInfo feeInfo) {
433  0 this.feeInfo = feeInfo;
434    }
435   
436    /**
437    * Accounting information associated with this CLU.
438    */
 
439  0 toggle public CluAccountingInfo getAccountingInfo() {
440  0 return accountingInfo;
441    }
442   
 
443  0 toggle public void setAccountingInfo(CluAccountingInfo accountingInfo) {
444  0 this.accountingInfo = accountingInfo;
445    }
446   
447    /**
448    * List of key/value pairs, typically used for dynamic attributes.
449    */
 
450  0 toggle public Map<String, String> getAttributes() {
451  0 if (attributes == null) {
452  0 attributes = new HashMap<String, String>();
453    }
454  0 return attributes;
455    }
456   
 
457  0 toggle public void setAttributes(Map<String, String> attributes) {
458  0 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  0 toggle public MetaInfo getMetaInfo() {
465  0 return metaInfo;
466    }
467   
 
468  0 toggle public void setMetaInfo(MetaInfo metaInfo) {
469  0 this.metaInfo = metaInfo;
470    }
471   
472   
 
473  0 toggle public VersionInfo getVersionInfo() {
474  0 return versionInfo;
475    }
476   
 
477  0 toggle public void setVersionInfo(VersionInfo versionInfo) {
478  0 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  0 toggle public String getType() {
485  0 return type;
486    }
487   
 
488  0 toggle public void setType(String type) {
489  0 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  0 toggle public String getState() {
496  0 return state;
497    }
498   
 
499  0 toggle public void setState(String state) {
500  0 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  0 toggle public String getId() {
507  0 return id;
508    }
509   
 
510  0 toggle public void setId(String id) {
511  0 this.id = id;
512    }
513   
 
514  0 toggle public String getExpectedFirstAtp() {
515  0 return expectedFirstAtp;
516    }
517   
 
518  0 toggle public void setExpectedFirstAtp(String expectedFirstAtp) {
519  0 this.expectedFirstAtp = expectedFirstAtp;
520    }
521   
 
522  0 toggle public String getLastAtp() {
523  0 return lastAtp;
524    }
525   
 
526  0 toggle public void setLastAtp(String lastAtp) {
527  0 this.lastAtp = lastAtp;
528    }
529   
 
530  0 toggle public String getLastAdmitAtp() {
531  0 return lastAdmitAtp;
532    }
533   
 
534  0 toggle public void setLastAdmitAtp(String lastAdmitAtp) {
535  0 this.lastAdmitAtp = lastAdmitAtp;
536    }
537   
 
538  0 toggle @Override
539    public String toString() {
540  0 return "CluInfo[id=" + id + ", type=" + type + "]";
541    }
542   
543    }