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 
 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  0
 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  
     public CluIdentifierInfo getOfficialIdentifier() {
 151  0
         return officialIdentifier;
 152  
     }
 153  
 
 154  
     public void setOfficialIdentifier(CluIdentifierInfo officialIdentifier) {
 155  0
         this.officialIdentifier = officialIdentifier;
 156  0
     }
 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  
     public List<CluIdentifierInfo> getAlternateIdentifiers() {
 165  0
         if (alternateIdentifiers == null) {
 166  0
             alternateIdentifiers = new ArrayList<CluIdentifierInfo>();
 167  
         }
 168  
 
 169  0
         return alternateIdentifiers;
 170  
     }
 171  
 
 172  
     public void setAlternateIdentifiers(List<CluIdentifierInfo> alternateIdentifiers) {
 173  0
         this.alternateIdentifiers = alternateIdentifiers;
 174  0
     }
 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  
     public String getStudySubjectArea() {
 185  0
         return studySubjectArea;
 186  
     }
 187  
 
 188  
     public void setStudySubjectArea(String studySubjectArea) {
 189  0
         this.studySubjectArea = studySubjectArea;
 190  0
     }
 191  
 
 192  
 
 193  
     /**
 194  
      * Narrative description of the CLU, used for the catalog.
 195  
      */
 196  
 
 197  
     public RichTextInfo getDescr() {
 198  0
         return descr;
 199  
     }
 200  
 
 201  
     public void setDescr(RichTextInfo descr) {
 202  0
         this.descr = descr;
 203  0
     }
 204  
 
 205  
 
 206  
     /*
 207  
      * Information around the accreditation of the clu.
 208  
      */
 209  
 
 210  
     public List<AccreditationInfo> getAccreditations() {
 211  0
         if (accreditations == null) {
 212  0
             accreditations = new ArrayList<AccreditationInfo>();
 213  
         }
 214  
 
 215  0
         return accreditations;
 216  
     }
 217  
 
 218  
     public void setAccreditations(List<AccreditationInfo> accreditations) {
 219  0
         this.accreditations = accreditations;
 220  0
     }
 221  
 
 222  
 
 223  
     /*
 224  
      * Places where this clu might be offered
 225  
      */
 226  
 
 227  
     public List<String> getCampusLocations() {
 228  0
         if (campusLocations == null) {
 229  0
             campusLocations = new ArrayList<String>();
 230  
         }
 231  0
         return campusLocations;
 232  
     }
 233  
 
 234  
     public void setCampusLocations(List<String> campusLocations) {
 235  0
         this.campusLocations = campusLocations;
 236  0
     }
 237  
 
 238  
     public List<AdminOrgInfo> getAdminOrgs() {
 239  0
         if (adminOrgs == null) {
 240  0
             adminOrgs = new ArrayList<AdminOrgInfo>();
 241  
         }
 242  
 
 243  0
         return adminOrgs;
 244  
     }
 245  
 
 246  
     public void setAdminOrgs(List<AdminOrgInfo> adminOrgs) {
 247  0
         this.adminOrgs = adminOrgs;
 248  0
     }
 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  
     public CluInstructorInfo getPrimaryInstructor() {
 258  0
         return primaryInstructor;
 259  
     }
 260  
 
 261  
     public void setPrimaryInstructor(CluInstructorInfo primaryInstructor) {
 262  0
         this.primaryInstructor = primaryInstructor;
 263  0
     }
 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  
     public List<CluInstructorInfo> getInstructors() {
 273  0
         if (instructors == null) {
 274  0
             instructors = new ArrayList<CluInstructorInfo>();
 275  
         }
 276  
 
 277  0
         return instructors;
 278  
     }
 279  
 
 280  
     public void setInstructors(List<CluInstructorInfo> instructors) {
 281  0
         this.instructors = instructors;
 282  0
     }
 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  
     public Date getEffectiveDate() {
 293  0
         return effectiveDate;
 294  
     }
 295  
 
 296  
     public void setEffectiveDate(Date effectiveDate) {
 297  0
         this.effectiveDate = effectiveDate;
 298  0
     }
 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  
     public Date getExpirationDate() {
 311  0
         return expirationDate;
 312  
     }
 313  
 
 314  
     public void setExpirationDate(Date expirationDate) {
 315  0
         this.expirationDate = expirationDate;
 316  0
     }
 317  
 
 318  
 
 319  
     /*
 320  
      * The expected level of time commitment between the student and
 321  
      * the CLU meetings.
 322  
      */
 323  
 
 324  
     public AmountInfo getIntensity() {
 325  0
         return intensity;
 326  
     }
 327  
 
 328  
     public void setIntensity(AmountInfo intensity) {
 329  0
         this.intensity = intensity;
 330  0
     }
 331  
 
 332  
 
 333  
     /**
 334  
      * The standard duration of the learning unit.
 335  
      */
 336  
 
 337  
     public TimeAmountInfo getStdDuration() {
 338  0
         return stdDuration;
 339  
     }
 340  
 
 341  
     public void setStdDuration(TimeAmountInfo stdDuration) {
 342  0
         this.stdDuration = stdDuration;
 343  0
     }
 344  
 
 345  
 
 346  
     /**
 347  
      * Indicates if the CLU can be used to instantiate LUIs (offerings).
 348  
      */
 349  
 
 350  
     public boolean isCanCreateLui() {
 351  0
         return canCreateLui;
 352  
     }
 353  
 
 354  
     public void setCanCreateLui(boolean canCreateLui) {
 355  0
         this.canCreateLui = canCreateLui;
 356  0
     }
 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  
     public String getReferenceURL() {
 367  0
         return referenceURL;
 368  
     }
 369  
 
 370  
     public void setReferenceURL(String referenceURL) {
 371  0
         this.referenceURL = referenceURL;
 372  0
     }
 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  
     public List<LuCodeInfo> getLuCodes() {
 382  0
         if (luCodes == null) {
 383  0
             luCodes = new ArrayList<LuCodeInfo>();
 384  
         }
 385  
 
 386  0
         return luCodes;
 387  
     }
 388  
 
 389  
     public void setLuCodes(List<LuCodeInfo> luCodes) {
 390  0
         this.luCodes = luCodes;
 391  0
     }
 392  
 
 393  
 
 394  
     /**
 395  
      * When the next review should be
 396  
      */
 397  
 
 398  
     public String getNextReviewPeriod() {
 399  0
         return nextReviewPeriod;
 400  
     }
 401  
 
 402  
     public void setNextReviewPeriod(String nextReviewPeriod) {
 403  0
         this.nextReviewPeriod = nextReviewPeriod;
 404  0
     }
 405  
 
 406  
     /**
 407  
      * Indicates if Luis generated from this Clu are intended to be
 408  
      * enrolled in by Students directly
 409  
      */
 410  
 
 411  
     public boolean isEnrollable() {
 412  0
         return isEnrollable;
 413  
     }
 414  
 
 415  
     public void setEnrollable(boolean isEnrollable) {
 416  0
         this.isEnrollable = isEnrollable;
 417  0
     }
 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  
     public List<String> getOfferedAtpTypes() {
 426  0
         if (offeredAtpTypes == null) {
 427  0
             offeredAtpTypes = new ArrayList<String>();
 428  
         }
 429  
 
 430  0
         return offeredAtpTypes;
 431  
     }
 432  
 
 433  
     public void setOfferedAtpTypes(List<String> offeredAtpTypes) {
 434  0
         this.offeredAtpTypes = offeredAtpTypes;
 435  0
     }
 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  
     public boolean isHasEarlyDropDeadline() {
 446  0
         return hasEarlyDropDeadline;
 447  
     }
 448  
 
 449  
     public void setHasEarlyDropDeadline(boolean hasEarlyDropDeadline) {
 450  0
         this.hasEarlyDropDeadline = hasEarlyDropDeadline;
 451  0
     }
 452  
 
 453  
 
 454  
     /**
 455  
      * Default enrollment estimate for this CLU.
 456  
      */
 457  
 
 458  
     public int getDefaultEnrollmentEstimate() {
 459  0
         return defaultEnrollmentEstimate;
 460  
     }
 461  
 
 462  
     public void setDefaultEnrollmentEstimate(int defaultEnrollmentEstimate) {
 463  0
         this.defaultEnrollmentEstimate = defaultEnrollmentEstimate;
 464  0
     }
 465  
 
 466  
 
 467  
     /**
 468  
      * Default maximum enrollment for this CLU.
 469  
      */
 470  
 
 471  
     public int getDefaultMaximumEnrollment() {
 472  0
         return defaultMaximumEnrollment;
 473  
     }
 474  
 
 475  
     public void setDefaultMaximumEnrollment(int defaultMaximumEnrollment) {
 476  0
         this.defaultMaximumEnrollment = defaultMaximumEnrollment;
 477  0
     }
 478  
 
 479  
 
 480  
     /**
 481  
      * Indicates if the CLU may be hazardous for students with
 482  
      * disabilities. Would default to "false".
 483  
      */
 484  
 
 485  
     public boolean isHazardousForDisabledStudents() {
 486  0
         return isHazardousForDisabledStudents;
 487  
     }
 488  
 
 489  
     public void setHazardousForDisabledStudents(boolean isHazardousForDisabledStudents) {
 490  0
         this.isHazardousForDisabledStudents = isHazardousForDisabledStudents;
 491  0
     }
 492  
 
 493  
 
 494  
     /**
 495  
      * Fee information associated with this CLU.
 496  
      */
 497  
 
 498  
     public CluFeeInfo getFeeInfo() {
 499  0
         return feeInfo;
 500  
     }
 501  
 
 502  
     public void setFeeInfo(CluFeeInfo feeInfo) {
 503  0
         this.feeInfo = feeInfo;
 504  0
     }
 505  
 
 506  
 
 507  
     /**
 508  
      * Accounting information associated with this CLU.
 509  
      */
 510  
 
 511  
     public CluAccountingInfo getAccountingInfo() {
 512  0
         return accountingInfo;
 513  
     }
 514  
 
 515  
     public void setAccountingInfo(CluAccountingInfo accountingInfo) {
 516  0
         this.accountingInfo = accountingInfo;
 517  0
     }
 518  
 
 519  
 
 520  
     /**
 521  
      * List of key/value pairs, typically used for dynamic attributes.
 522  
      */
 523  
 
 524  
     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  
     public void setAttributes(Map<String, String> attributes) {
 533  0
         this.attributes = attributes;
 534  0
     }
 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  
     public MetaInfo getMetaInfo() {
 544  0
         return metaInfo;
 545  
     }
 546  
 
 547  
     public void setMetaInfo(MetaInfo metaInfo) {
 548  0
         this.metaInfo = metaInfo;
 549  0
     }
 550  
 
 551  
 
 552  
     public VersionInfo getVersionInfo() {
 553  0
         return versionInfo;
 554  
     }
 555  
 
 556  
     public void setVersionInfo(VersionInfo versionInfo) {
 557  0
         this.versionInfo = versionInfo;
 558  0
     }
 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  
     public String getType() {
 567  0
         return type;
 568  
     }
 569  
 
 570  
     public void setType(String type) {
 571  0
         this.type = type;
 572  0
     }
 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  
     public String getState() {
 585  0
         return state;
 586  
     }
 587  
 
 588  
     public void setState(String state) {
 589  0
         this.state = state;
 590  0
     }
 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  
     public String getId() {
 601  0
         return id;
 602  
     }
 603  
 
 604  
     public void setId(String id) {
 605  0
         this.id = id;
 606  0
     }
 607  
 
 608  
     public String getExpectedFirstAtp() {
 609  0
         return expectedFirstAtp;
 610  
     }
 611  
 
 612  
     public void setExpectedFirstAtp(String expectedFirstAtp) {
 613  0
         this.expectedFirstAtp = expectedFirstAtp;
 614  0
     }
 615  
 
 616  
     public String getLastAtp() {
 617  0
         return lastAtp;
 618  
     }
 619  
 
 620  
     public void setLastAtp(String lastAtp) {
 621  0
         this.lastAtp = lastAtp;
 622  0
     }
 623  
 
 624  
     public String getLastAdmitAtp() {
 625  0
         return lastAdmitAtp;
 626  
     }
 627  
 
 628  
     public void setLastAdmitAtp(String lastAdmitAtp) {
 629  0
         this.lastAdmitAtp = lastAdmitAtp;
 630  0
     }
 631  
 
 632  
     @Override
 633  
     public String toString() {
 634  0
         return "CluInfo[id=" + id + ", type=" + type + "]";
 635  
     }
 636  
 }