1 package org.kuali.student.enrollment.courseoffering.infc; 2 3 import org.kuali.student.r2.common.infc.IdNamelessEntity; 4 import org.kuali.student.r2.common.infc.RichText; 5 6 import java.util.List; 7 8 9 public interface CourseOfferingDisplay extends IdNamelessEntity { 10 11 12 13 /** 14 * Custom Descr for the course Offering 15 * @name Course Offering Description 16 */ 17 public RichText getDescr(); 18 19 /** 20 * A unique identifier assigned to all approved courses that exist 21 * in the catalog This is not updatable once initialized. 22 * 23 * @name Course Id 24 * @readOnly 25 * @required 26 * @impl this maps the the version dependent id as the offering 27 * must point to one and only one version of the 28 * course. Maps to cluId in Lui. 29 */ 30 public String getCourseId(); 31 32 33 /** 34 * Academic term of course offering 35 * 36 * @name Term Id 37 * @readOnly 38 * @required 39 * @impl set during the #createCourseOffering and then maps to 40 * the aptKey on the Lui 41 */ 42 public String getTermId(); 43 44 45 /** 46 * Identifies the number of a course as reflected in the course catalog. 47 * This typically must be unique across all courses offered during that 48 * term. If the user wants to create two separate offerings for the same 49 * course they must modify this code to make it unique. For example: An 50 * on-line offering of the course might have an "O" appended to it to 51 * distinguish it from the face to face offering, i.e. ENG101 and ENG101O 52 * Initially copied from the course catalog but then, depending on the 53 * configuration it may be updatable. Often this field is configured so that 54 * it is not not directly updatable but rather is calculated from it's two 55 * constituent parts, the subject area and the course number suffix. For 56 * example: Subject Area = "ENG" and Suffix = "101" then code = "ENG101" 57 * 58 * @name Course Offering Code 59 * @readOnly 60 */ 61 public String getCourseOfferingCode(); 62 63 /** 64 * Identifies the department and/subject code of the course as reflected in 65 * the course catalog. Initially copied from the course catalog but then, 66 * depending on the configuration it may be updatable. In most 67 * configurations this should not be updatable. Often used in the 68 * calculation of the courseCode 69 * 70 * @name Subject Area 71 * @readOnly 72 */ 73 public String getSubjectArea(); 74 75 /** 76 * Name of the course used in the college catalog. Initially copied from the 77 * course catalog but then, depending on the configuration it may be 78 * updatable. For regular courses this is not generally allowed to be 79 * updated on the offering, but for special topics courses this is often 80 * overridden to capture the particular topic being taught offered this 81 * term. Note: the configuration of the validation for titles is typically 82 * restricted to exclude line breaks. This may have to be loosened as some 83 * schools may want the particular topic to appear on a 2nd line. For 84 * example: SPECIAL TOPICS: AN EXPLORATION OF DEEP SPACE ARTIFACTS 85 * 86 * @name Course Title 87 * @readOnly 88 \ */ 89 public String getCourseOfferingTitle(); 90 91 92 93 94 /** 95 * The name of the Type that the Course Offering or the underlying LUI 96 * is of. 97 * 98 * @name Type name 99 * @readOnly on updates 100 * @impl Name of the type the CO Info is of, read from TypeInfo object 101 */ 102 public String getTypeName(); 103 104 /** 105 * The name of the State that the Course Offering or the underlying LUI 106 * is in. 107 * 108 * @name State Name Owner 109 * @readOnly on updates 110 * @impl Name of the state the CO Info is in, read from StateInfo object 111 */ 112 public String getStateName(); 113 114 /** 115 * The display value of the credit, this is derived by fetching the result value groups for the credit option tied 116 * to the course offering and concatenating the values of the options. 117 * 118 * @name Display Credit 119 * @impl Get the credit option values and concatenate to a single field 120 * @readOnly on updates 121 */ 122 public String getDisplayCredit(); 123 124 /** 125 * The display value of the grading options, this is derived by fetching the result value groups for the grading option tied 126 * to the course offering and concatenating the values of the options. 127 * 128 * @name Display Grading 129 * @impl Get the credit option values and concatenate to a single field 130 * @readOnly on updates 131 */ 132 public String getDisplayGrading(); 133 134 /** 135 * Activty offering types for the course offering 136 * 137 * @name Actvity Offering Types 138 * @impl Get the format offering for the course offering and then the activity types from the Format offering 139 * @readOnly on updates 140 */ 141 public List<String> getActivtyOfferingTypes(); 142 143 /** 144 * Code for the term the course offering is in 145 * 146 * @name Term Code 147 * @readOnly on updates 148 */ 149 public String getTermCode(); 150 151 152 153 /** 154 * Name of the Term the Course Offering is in 155 * 156 * @name Term Name 157 * @readOnly on updates 158 */ 159 public String getTermName(); 160 161 }