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