Coverage Report - org.kuali.student.r2.lum.clu.infc.Clu
 
Classes in this File Line Coverage Branch Coverage Complexity
Clu
N/A
N/A
1
 
 1  
 /**
 2  
  * Copyright 2011 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  
 package org.kuali.student.r2.lum.clu.infc;
 16  
 
 17  
 import org.kuali.student.r2.common.infc.Amount;
 18  
 import org.kuali.student.r2.common.infc.HasEffectiveDates;
 19  
 import org.kuali.student.r2.common.infc.IdNamelessEntity;
 20  
 import org.kuali.student.r2.common.infc.TimeAmount;
 21  
 import org.kuali.student.r2.core.versionmanagement.infc.Version;
 22  
 
 23  
 import java.util.List;
 24  
 import org.kuali.student.r2.common.infc.RichText;
 25  
 
 26  
 /**
 27  
  * Detailed information about a single CLU.
 28  
  *
 29  
  * @Version 2.0
 30  
  * @Author Sri komandur@uw.edu
 31  
  */
 32  
 public interface Clu extends IdNamelessEntity, HasEffectiveDates {
 33  
 
 34  
     /**
 35  
      * Information related to the official identification of the clu, typically
 36  
      * in human readable form. Used to officially reference or publish.
 37  
      *
 38  
      * @name Official Identifier
 39  
      * @readOnly
 40  
      * @required
 41  
      */
 42  
     public CluIdentifier getOfficialIdentifier();
 43  
 
 44  
     /**
 45  
      * Narrative description of the CLU, used for the catalog.
 46  
      *
 47  
      * @name Description
 48  
      */
 49  
     public RichText getDescr();
 50  
 
 51  
     /**
 52  
      * Information related to alternate identifications of the clu, typically in
 53  
      * human readable form. Used to reference or publish.
 54  
      *
 55  
      * @name Alternate Identifiers
 56  
      * @readOnly
 57  
      */
 58  
     public List<? extends CluIdentifier> getAlternateIdentifiers();
 59  
 
 60  
     /**
 61  
      * The Study Subject Area is used to identify the area of study associated
 62  
      * with the clu. It may be a general study area (e.g. Chemistry) or very
 63  
      * specific (e.g. Naval Architecture) depending on the level of specificity
 64  
      * of the clu.
 65  
      *
 66  
      * @name Study Subject Area
 67  
      */
 68  
     public String getStudySubjectArea();
 69  
 
 70  
     /**
 71  
      * Information around the accreditation of the clu.
 72  
      *
 73  
      * @name Accreditations
 74  
      */
 75  
     public List<? extends Accreditation> getAccreditations();
 76  
 
 77  
     /**
 78  
      * Places where this clu might be offered
 79  
      *
 80  
      * @name Campus Location Keys
 81  
      */
 82  
     public List<String> getCampusLocations();
 83  
 
 84  
     /**
 85  
      * Admin Orgs associated with this clu
 86  
      *
 87  
      * @name Admin Orgs
 88  
      */
 89  
     public List<? extends AdminOrg> getAdminOrgs();
 90  
 
 91  
     /**
 92  
      * Primary potential instructor for the clu. This is primarily for use in
 93  
      * advertising the clu and may not be the actual instructor.
 94  
      *
 95  
      * @name Primary Instructor
 96  
      */
 97  
     public CluInstructor getPrimaryInstructor();
 98  
 
 99  
     /**
 100  
      * Instructors associated with this clu. This may not be an exhaustive list,
 101  
      * and instead may only be used to indicate potential instructors in
 102  
      * publication.
 103  
      *
 104  
      * @name Instructors
 105  
      */
 106  
     public List<? extends CluInstructor> getInstructors();
 107  
 
 108  
     /*
 109  
      * The expected level of time commitment between the student and the CLU meetings.
 110  
      * @name Intensity
 111  
      */
 112  
     public Amount getIntensity();
 113  
 
 114  
     /**
 115  
      * The standard duration of the learning unit.
 116  
      *
 117  
      * @name Std Duration
 118  
      */
 119  
     public TimeAmount getStdDuration();
 120  
 
 121  
     /**
 122  
      * Indicates if the CLU can be used to instantiate LUIs (offerings).
 123  
      *
 124  
      * @name is Can Create Lui
 125  
      */
 126  
     public Boolean getCanCreateLui();
 127  
 
 128  
     /**
 129  
      * An URL for additional information about the CLU. This could be a
 130  
      * reference to a document which might in turn have references to other
 131  
      * documents (e.g. course syllabus provided by the faculty or department,
 132  
      * standard schedule of classes, etc.).
 133  
      *
 134  
      * @name Reference URL
 135  
      */
 136  
     public String getReferenceURL();
 137  
 
 138  
     /**
 139  
      * List of LU code info structures. These are structures so that many
 140  
      * different types of codes can be associated with the clu. This allows them
 141  
      * to be put into categories.
 142  
      *
 143  
      * @name Lu Codes
 144  
      */
 145  
     public List<? extends LuCode> getLuCodes();
 146  
 
 147  
     /**
 148  
      * When the next review should be
 149  
      *
 150  
      * @name Next Review Period
 151  
      */
 152  
     public String getNextReviewPeriod();
 153  
 
 154  
     /**
 155  
      * Indicates if Luis generated from this Clu are intended to be enrolled in
 156  
      * by Students directly
 157  
      *
 158  
      * @name is Enrollable
 159  
      */
 160  
     public Boolean getIsEnrollable();
 161  
 
 162  
     /**
 163  
      * The academic time period types in which this CLU is typically offered.
 164  
      * Standard usage would equate to terms.
 165  
      *
 166  
      * @name Offered Atp Types
 167  
      */
 168  
     public List<String> getOfferedAtpTypes();
 169  
 
 170  
     /**
 171  
      * Indicates if the CLU has an Early Drop Deadline (EDD). Certain courses
 172  
      * are designated as such to maximize access to courses that have
 173  
      * historically experienced high demand and high attrition. Default is
 174  
      * "false".
 175  
      *
 176  
      * @name is Has Early Drop Deadline
 177  
      */
 178  
     public Boolean getHasEarlyDropDeadline();
 179  
 
 180  
     /**
 181  
      * Default enrollment estimate for this CLU.
 182  
      *
 183  
      * @name Default Enrollment Estimate
 184  
      */
 185  
     public int getDefaultEnrollmentEstimate();
 186  
 
 187  
     /**
 188  
      * Default maximum enrollment for this CLU.
 189  
      *
 190  
      * @name Default Maximum Enrollment
 191  
      */
 192  
     public int getDefaultMaximumEnrollment();
 193  
 
 194  
     /**
 195  
      * Indicates if the CLU may be hazardous for students with disabilities.
 196  
      * Would default to "false".
 197  
      *
 198  
      * @name is Hazardous For Disabled Students
 199  
      */
 200  
     public Boolean GetIsHazardousForDisabledStudents();
 201  
 
 202  
     /**
 203  
      * Fee information associated with this CLU.
 204  
      *
 205  
      * @name Fee Info
 206  
      */
 207  
     public CluFee getFeeInfo();
 208  
 
 209  
     /**
 210  
      * Accounting information associated with this CLU.
 211  
      *
 212  
      * @name Account Info
 213  
      */
 214  
     public CluAccounting getAccountingInfo();
 215  
 
 216  
     /**
 217  
      * Version information associated with this CLU
 218  
      *
 219  
      * @name Version Info
 220  
      */
 221  
     public Version getVersionInfo();
 222  
 
 223  
     /**
 224  
      * The expected first academic time period that this clu would be effective.
 225  
      * This may not reflect the first "real" academic time period for this clu.
 226  
      *
 227  
      * @name Expected First Atp
 228  
      */
 229  
     public String getExpectedFirstAtp();
 230  
 
 231  
     /**
 232  
      * The last academic time period that this clu would be effective.
 233  
      *
 234  
      * @name Last Atp
 235  
      */
 236  
     public String getLastAtp();
 237  
 
 238  
     /**
 239  
      * The last academic time period that this clu would be available for
 240  
      * enrollment. This may not reflect the last "real" academic time period for
 241  
      * this clu.
 242  
      *
 243  
      * @name Last Admit Atp
 244  
      */
 245  
     public String getLastAdmitAtp();
 246  
 }