Coverage Report - org.kuali.student.lum.lu.dto.CluInfo
 
Classes in this File Line Coverage Branch Coverage Complexity
CluInfo
0%
0/120
0%
0/16
1.116
 
 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  0
 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  
     public CluIdentifierInfo getOfficialIdentifier() {
 157  0
         return officialIdentifier;
 158  
     }
 159  
 
 160  
     public void setOfficialIdentifier(CluIdentifierInfo officialIdentifier) {
 161  0
         this.officialIdentifier = officialIdentifier;
 162  0
     }
 163  
 
 164  
     /**
 165  
      * Information related to alternate identifications of the clu, typically in human readable form. Used to reference or publish.
 166  
      */
 167  
     public List<CluIdentifierInfo> getAlternateIdentifiers() {
 168  0
         if (alternateIdentifiers == null) {
 169  0
             alternateIdentifiers = new ArrayList<CluIdentifierInfo>();
 170  
         }
 171  0
         return alternateIdentifiers;
 172  
     }
 173  
 
 174  
     public void setAlternateIdentifiers(List<CluIdentifierInfo> alternateIdentifiers) {
 175  0
         this.alternateIdentifiers = alternateIdentifiers;
 176  0
     }
 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  
     public String getStudySubjectArea() {
 183  0
         return studySubjectArea;
 184  
     }
 185  
 
 186  
     public void setStudySubjectArea(String studySubjectArea) {
 187  0
         this.studySubjectArea = studySubjectArea;
 188  0
     }
 189  
 
 190  
     /**
 191  
      * Narrative description of the CLU, used for the catalog.
 192  
      */
 193  
     public RichTextInfo getDescr() {
 194  0
         return descr;
 195  
     }
 196  
 
 197  
     public void setDescr(RichTextInfo descr) {
 198  0
         this.descr = descr;
 199  0
     }
 200  
 
 201  
     /*
 202  
      * Information around the accreditation of the clu.
 203  
      */
 204  
     public List<AccreditationInfo> getAccreditations() {
 205  0
         if (accreditations == null) {
 206  0
             accreditations = new ArrayList<AccreditationInfo>();
 207  
         }
 208  0
         return accreditations;
 209  
     }
 210  
 
 211  
     public void setAccreditations(List<AccreditationInfo> accreditations) {
 212  0
         this.accreditations = accreditations;
 213  0
     }
 214  
 
 215  
     /*
 216  
      * Places where this clu might be offered
 217  
      */
 218  
     public List<String> getCampusLocations() {
 219  0
         if (campusLocations == null) {
 220  0
             campusLocations = new ArrayList<String>();
 221  
         }
 222  0
         return campusLocations;
 223  
     }
 224  
 
 225  
     public void setCampusLocations(List<String> campusLocations) {
 226  0
         this.campusLocations = campusLocations;
 227  0
     }
 228  
 
 229  
     public List<AdminOrgInfo> getAdminOrgs() {
 230  0
         if (adminOrgs == null) {
 231  0
                 adminOrgs = new ArrayList<AdminOrgInfo>();
 232  
         }
 233  0
         return adminOrgs;
 234  
     }
 235  
 
 236  
     public void setAdminOrgs(List<AdminOrgInfo> adminOrgs) {
 237  0
         this.adminOrgs = adminOrgs;
 238  0
     }
 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  
     public CluInstructorInfo getPrimaryInstructor() {
 244  0
         return primaryInstructor;
 245  
     }
 246  
 
 247  
     public void setPrimaryInstructor(CluInstructorInfo primaryInstructor) {
 248  0
         this.primaryInstructor = primaryInstructor;
 249  0
     }
 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  
     public List<CluInstructorInfo> getInstructors() {
 255  0
         if (instructors == null) {
 256  0
             instructors = new ArrayList<CluInstructorInfo>();
 257  
         }
 258  0
         return instructors;
 259  
     }
 260  
 
 261  
     public void setInstructors(List<CluInstructorInfo> instructors) {
 262  0
         this.instructors = instructors;
 263  0
     }
 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  
     public Date getEffectiveDate() {
 269  0
         return effectiveDate;
 270  
     }
 271  
 
 272  
     public void setEffectiveDate(Date effectiveDate) {
 273  0
         this.effectiveDate = effectiveDate;
 274  0
     }
 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  
     public Date getExpirationDate() {
 280  0
         return expirationDate;
 281  
     }
 282  
 
 283  
     public void setExpirationDate(Date expirationDate) {
 284  0
         this.expirationDate = expirationDate;
 285  0
     }
 286  
 
 287  
     /*
 288  
      * The expected level of time commitment between the student and the CLU meetings.
 289  
      */
 290  
     public AmountInfo getIntensity() {
 291  0
         return intensity;
 292  
     }
 293  
 
 294  
     public void setIntensity(AmountInfo intensity) {
 295  0
         this.intensity = intensity;
 296  0
     }
 297  
 
 298  
     /**
 299  
      * The standard duration of the learning unit.
 300  
      */
 301  
     public TimeAmountInfo getStdDuration() {
 302  0
         return stdDuration;
 303  
     }
 304  
 
 305  
     public void setStdDuration(TimeAmountInfo stdDuration) {
 306  0
         this.stdDuration = stdDuration;
 307  0
     }
 308  
 
 309  
     /**
 310  
      * Indicates if the CLU can be used to instantiate LUIs (offerings).
 311  
      */
 312  
     public boolean isCanCreateLui() {
 313  0
         return canCreateLui;
 314  
     }
 315  
 
 316  
     public void setCanCreateLui(boolean canCreateLui) {
 317  0
         this.canCreateLui = canCreateLui;
 318  0
     }
 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  
     public String getReferenceURL() {
 324  0
         return referenceURL;
 325  
     }
 326  
 
 327  
     public void setReferenceURL(String referenceURL) {
 328  0
         this.referenceURL = referenceURL;
 329  0
     }
 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  
     public List<LuCodeInfo> getLuCodes() {
 335  0
         if (luCodes == null) {
 336  0
             luCodes = new ArrayList<LuCodeInfo>();
 337  
         }
 338  0
         return luCodes;
 339  
     }
 340  
 
 341  
     public void setLuCodes(List<LuCodeInfo> luCodes) {
 342  0
         this.luCodes = luCodes;
 343  0
     }
 344  
 
 345  
     /**
 346  
      * When the next review should be
 347  
      */
 348  
     public String getNextReviewPeriod() {
 349  0
         return nextReviewPeriod;
 350  
     }
 351  
 
 352  
     public void setNextReviewPeriod(String nextReviewPeriod) {
 353  0
         this.nextReviewPeriod = nextReviewPeriod;
 354  0
     }
 355  
 
 356  
     /**
 357  
      * Indicates if Luis generated from this Clu are intended to be enrolled in by Students directly
 358  
      */
 359  
     public boolean isEnrollable() {
 360  0
         return isEnrollable;
 361  
     }
 362  
 
 363  
     public void setEnrollable(boolean isEnrollable) {
 364  0
         this.isEnrollable = isEnrollable;
 365  0
     }
 366  
 
 367  
     /**
 368  
      * The academic time period types in which this CLU is typically offered. Standard usage would equate to terms.
 369  
      */
 370  
     public List<String> getOfferedAtpTypes() {
 371  0
         if (offeredAtpTypes == null) {
 372  0
             offeredAtpTypes = new ArrayList<String>();
 373  
         }
 374  0
         return offeredAtpTypes;
 375  
     }
 376  
 
 377  
     public void setOfferedAtpTypes(List<String> offeredAtpTypes) {
 378  0
         this.offeredAtpTypes = offeredAtpTypes;
 379  0
     }
 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  
     public boolean isHasEarlyDropDeadline() {
 385  0
         return hasEarlyDropDeadline;
 386  
     }
 387  
 
 388  
     public void setHasEarlyDropDeadline(boolean hasEarlyDropDeadline) {
 389  0
         this.hasEarlyDropDeadline = hasEarlyDropDeadline;
 390  0
     }
 391  
 
 392  
     /**
 393  
      * Default enrollment estimate for this CLU.
 394  
      */
 395  
     public int getDefaultEnrollmentEstimate() {
 396  0
         return defaultEnrollmentEstimate;
 397  
     }
 398  
 
 399  
     public void setDefaultEnrollmentEstimate(int defaultEnrollmentEstimate) {
 400  0
         this.defaultEnrollmentEstimate = defaultEnrollmentEstimate;
 401  0
     }
 402  
 
 403  
     /**
 404  
      * Default maximum enrollment for this CLU.
 405  
      */
 406  
     public int getDefaultMaximumEnrollment() {
 407  0
         return defaultMaximumEnrollment;
 408  
     }
 409  
 
 410  
     public void setDefaultMaximumEnrollment(int defaultMaximumEnrollment) {
 411  0
         this.defaultMaximumEnrollment = defaultMaximumEnrollment;
 412  0
     }
 413  
 
 414  
     /**
 415  
      * Indicates if the CLU may be hazardous for students with disabilities. Would default to "false".
 416  
      */
 417  
     public boolean isHazardousForDisabledStudents() {
 418  0
         return isHazardousForDisabledStudents;
 419  
     }
 420  
 
 421  
     public void setHazardousForDisabledStudents(boolean isHazardousForDisabledStudents) {
 422  0
         this.isHazardousForDisabledStudents = isHazardousForDisabledStudents;
 423  0
     }
 424  
 
 425  
     /**
 426  
      * Fee information associated with this CLU.
 427  
      */
 428  
     public CluFeeInfo getFeeInfo() {
 429  0
         return feeInfo;
 430  
     }
 431  
 
 432  
     public void setFeeInfo(CluFeeInfo feeInfo) {
 433  0
         this.feeInfo = feeInfo;
 434  0
     }
 435  
 
 436  
     /**
 437  
      * Accounting information associated with this CLU.
 438  
      */
 439  
     public CluAccountingInfo getAccountingInfo() {
 440  0
         return accountingInfo;
 441  
     }
 442  
 
 443  
     public void setAccountingInfo(CluAccountingInfo accountingInfo) {
 444  0
         this.accountingInfo = accountingInfo;
 445  0
     }
 446  
 
 447  
     /**
 448  
      * List of key/value pairs, typically used for dynamic attributes.
 449  
      */
 450  
     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  
     public void setAttributes(Map<String, String> attributes) {
 458  0
         this.attributes = attributes;
 459  0
     }
 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  
     public MetaInfo getMetaInfo() {
 465  0
         return metaInfo;
 466  
     }
 467  
 
 468  
     public void setMetaInfo(MetaInfo metaInfo) {
 469  0
         this.metaInfo = metaInfo;
 470  0
     }
 471  
 
 472  
 
 473  
     public VersionInfo getVersionInfo() {
 474  0
         return versionInfo;
 475  
     }
 476  
 
 477  
     public void setVersionInfo(VersionInfo versionInfo) {
 478  0
         this.versionInfo = versionInfo;
 479  0
     }
 480  
 
 481  
     /**
 482  
      * Unique identifier for a learning unit type. Once set at create time, this field may not be updated.
 483  
      */
 484  
     public String getType() {
 485  0
         return type;
 486  
     }
 487  
 
 488  
     public void setType(String type) {
 489  0
         this.type = type;
 490  0
     }
 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  
     public String getState() {
 496  0
         return state;
 497  
     }
 498  
 
 499  
     public void setState(String state) {
 500  0
         this.state = state;
 501  0
     }
 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  
     public String getId() {
 507  0
         return id;
 508  
     }
 509  
 
 510  
     public void setId(String id) {
 511  0
         this.id = id;
 512  0
     }
 513  
 
 514  
         public String getExpectedFirstAtp() {
 515  0
                 return expectedFirstAtp;
 516  
         }
 517  
 
 518  
         public void setExpectedFirstAtp(String expectedFirstAtp) {
 519  0
                 this.expectedFirstAtp = expectedFirstAtp;
 520  0
         }
 521  
 
 522  
     public String getLastAtp() {
 523  0
         return lastAtp;
 524  
     }
 525  
 
 526  
     public void setLastAtp(String lastAtp) {
 527  0
         this.lastAtp = lastAtp;
 528  0
     }
 529  
 
 530  
     public String getLastAdmitAtp() {
 531  0
         return lastAdmitAtp;
 532  
     }
 533  
 
 534  
     public void setLastAdmitAtp(String lastAdmitAtp) {
 535  0
         this.lastAdmitAtp = lastAdmitAtp;
 536  0
     }
 537  
 
 538  
     @Override
 539  
     public String toString() {
 540  0
             return "CluInfo[id=" + id + ", type=" + type + "]";
 541  
     }
 542  
 
 543  
 }