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