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